Cyclone计划是一种全新的编译器,允许使用R 7 RS方案语言标准的实际应用程序开发。我们提供现代功能和能够生成快速本地二进制的稳定系统。
Cyclone的运行时使用了MTA上的切尼(Cheney),以实现完整的尾部递归,连续性和世代垃圾收集。此外,MTA概念上的Cheney已扩展,以允许执行多个本机线程。一家垃圾收集器用于管理第二代堆,并在不“阻止世界”的情况下执行主要收藏。
syntax-rules的卫生宏您可以在浏览器中直接运行旋风解释器。无需安装。
对于完整的用户体验 - 编译文件,安装软件包,运行本机代码等 - 必须安装旋风的副本。
有几个可用的安装选项:

旋风可以从Docker图像运行:
docker run -it cyclonescm/cyclone bash

想要使用自制的Mac(和Linux!)用户可以执行以下操作。
请注意,如果尚未安装Homebrew:请按照https://brew.sh/的说明安装Homebrew Package Manager。
brew tap cyclone-scheme/cyclone
brew install cyclone-scheme/cyclone/cyclone-bootstrap

Arch Linux用户可以使用AUR安装:
git clone https://aur.archlinux.org/cyclone-scheme.git
cd cyclone-scheme
makepkg -si

可从Gentoo官方包装存储库中获得旋风。

要在Linux,Windows,FreeBSD和想要安装的MAC用户中首次安装旋风分机,请使用Cyclone-Bootstrap构建一组二进制文件。为Linux,Mac,Windows(通过MSYS)和FreeBSD 12提供了说明。
安装后,您可以运行cyclone命令来编译单个方案文件:
$ cyclone examples/fac.scm
$ examples/fac
3628800
以及启动交互式解释器的icyc命令。请注意,您可以使用rlwrap使解释器更友好,例如: rlwrap icyc :
$ icyc
:@
@@@
@@@@:
`@@@@@+
.@@@+@@@
@@ @@ Cyclone Scheme->C compiler
,@ http://justinethier.github.io/cyclone/
'@
.@
@@ #@ (c) 2014-2019 Justin Ethier
`@@@#@@@. Version 0.11
#@@@@@
+@@@+
@@#
`@.
cyclone> (write 'hello-world)
hello-world
阅读以下文档,以获取有关如何使用旋风的更多信息。

winds包管理器提供了安装包装库和旋风的程序的能力。有关更多信息,请参见风网站。
Wiki Wiki包含包含文档的包装的完整列表。
用户手册详细介绍了如何使用旋风并提供有关旋风实现的方案语言功能的信息。
旋风提供的所有库可用API参考,包括完整的字母列表。
为方案代码约定提供了指南。
如果您需要资源来开始学习方案语言,则可能需要尝试经典的教科书,例如计算机程序的结构和解释。
最后,此基准页面由Ecraven进行了比较,将旋风的性能与其他方案进行了比较。
旋风提供了多个示例程序,包括:
尾声优化 - 方案尾声优化的简单示例;该程序永远运行,呼吁两个相互递归的功能。
线程 - 多线程程序的各种示例。
生命游戏 - 康威的生活示例节目和Rs的图书馆。
生命游戏PNG图像生成器 - 一种修改的生命游戏版本,使用libpng创建每种迭代的图像,而不是将其写入控制台。此示例还展示了C外函数接口(FFI)的基本用法。
最后,最大的程序是编译器本身。大多数代码都包含在一系列库中,这些库由cyclone.scm和icyc.scm使用,用于为Cyclone的编译器和解释器创建可执行文件。
编写Cyclone方案编译器提供了有关编译器的编写方式以及其工作原理的高级细节。
有一个开发指南,并在编译器本身上黑客攻击时提供了有关常见任务的说明。
Cyclone的垃圾收集器有一个高级记录。本文档包括有关将切尼在MTA上扩展的详细信息,以支持多个堆栈,并将该方法与三色标记收集器融合在一起。
版权(C)2014 Justin Ethier。
旋风可在MIT许可下获得。