Cyclone Schemeは、R 7 RSスキーム言語標準を使用して実際のアプリケーション開発を可能にする真新しいコンパイラです。私たちは、最新の機能と、高速のネイティブバイナリを生成できる安定したシステムを提供します。
MTAのCheneyは、Cycloneのランタイムが完全な尾の再帰、継続、および世代ごとのコレクションを実装するために使用されます。さらに、MTAコンセプトのCheneyは、複数のネイティブスレッドの実行を許可するために拡張されています。オンザフライのゴミコレクターを使用して、第2世代のヒープを管理し、「世界を止める」ことなく主要なコレクションを実行します。
syntax-rulesに基づく衛生マクロブラウザでCycloneインタープリターを正しく実行できます。インストールは必要ありません。
ファイルのコンパイル、パッケージのインストール、ネイティブコードの実行など、完全なユーザーエクスペリエンスのために、Cycloneのコピーをインストールする必要があります。
利用可能ないくつかのインストールオプションがあります:

CycloneはDocker画像から実行できます。
docker run -it cyclonescm/cyclone bash

MAC(およびLinux!)Homebrewを使用したいユーザーは、以下を実行できます。
HomeBrewがまだインストールされていない場合:https://brew.sh/の手順に従って、HomeBrewパッケージマネージャーをインストールしてください。
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

Cycloneは、公式のGentooパッケージリポジトリから入手できます。

Linux、Windows、FreeBSD、およびHomeBrewを使用せずにインストールしたいMacユーザーの場合、MacyにCycloneを初めてインストールするには、 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 Package Managerは、サイクロン用のパッケージ化されたライブラリとプログラムをインストールする機能を提供します。詳細については、Windsサイトをご覧ください。
Winds Wikiには、ドキュメント付きのパッケージの完全なリストが含まれています。
ユーザーマニュアルは、Cycloneの使用方法を詳細に取り上げ、Cycloneが実装するスキーム言語機能に関する情報を提供します。
Cycloneが提供するすべてのライブラリでAPI参照を使用できます。これには、完全なアルファベット順のリストが含まれます。
スキームコード規則のガイドが提供されています。
スキーム言語の学習を開始するためにリソースが必要な場合は、コンピュータープログラムの構造や解釈などの古典的な教科書を試してみてください。
最後に、Ecravenのこのベンチマークページは、Cycloneのパフォーマンスを他のスキームと比較します。
Cycloneは、次のようないくつかの例プログラムを提供します。
テールコールの最適化 - スキームテールコール最適化の簡単な例。このプログラムは永遠に実行され、相互に再帰的な2つの再帰関数を呼び出します。
スレッド - マルチスレッドプログラムのさまざまな例。
Game of Life -Conway's Game of Lifeの例プログラムとR 7 Rsの図書館。
Game of Life PNG Image Generator -libpngを使用して各反復の画像をコンソールに書き込む代わりに、Libpngを使用するゲームオブライフの修正バージョン。この例は、C Fortion Functionインターフェイス(FFI)の基本的な使用も示しています。
最後に、最大のプログラムはコンパイラ自体です。ほとんどのコードは、 cyclone.scmおよびicyc.scmがCycloneのコンパイラとインタープリター用の実行可能ファイルを作成するために使用される一連のライブラリに含まれています。
Cyclone Scheme Compilerを作成すると、コンパイラがどのように書かれているか、どのように機能するかについての高レベルの詳細が提供されます。
コンパイラ自体をハッキングする際に、一般的なタスクに関する指示を含む開発ガイドがあります。
サイクロンのゴミコレクターは、高レベルで文書化されています。このドキュメントには、MTA上のCheneyの拡張に関する詳細が含まれており、複数のスタックをサポートし、そのアプローチを3色マーキングコレクターと融合しています。
Copyright(c)2014 Justin Ethier。
CycloneはMITライセンスの下で利用できます。