Das Cyclone-Schema ist ein brandneuer Compiler, der die Anwendungsentwicklung der realen Anwendungen unter Verwendung des RS- Standards der RS-Schema-Sprache ermöglicht. Wir bieten moderne Merkmale und ein stabiles System, das schnelle native Binärdateien erzeugen kann.
Cheney on the MTA wird von der Laufzeit von Cyclon verwendet, um die vollständige Schwanzrekursion, Kontinuationen und Generationenmüllsammlung zu implementieren. Darüber hinaus wurde das Cheney on the MTA -Konzept erweitert, um die Ausführung mehrerer nationaler Threads zu ermöglichen. Ein Müllkollektor im Fliege wird verwendet, um den Haufen der zweiten Generation zu verwalten und wichtige Sammlungen durchzuführen, ohne die Welt zu stoppen.
syntax-rulesSie können den Zyklon -Dolmetscher direkt in Ihrem Browser ausführen. Keine Installation erforderlich.
Für das vollständige Benutzererlebnis - Kompilieren von Dateien, Installieren von Paketen, Ausführen des nativen Codes usw. - müssen eine Kopie von Cyclone installiert werden.
Es stehen mehrere Installationsoptionen zur Verfügung:

Der Zyklon kann von einem Docker -Bild ausgeführt werden:
docker run -it cyclonescm/cyclone bash

Mac (und Linux!) Benutzer, die Homebrew verwenden möchten, können Folgendes tun.
Beachten Sie, ob Homebrew noch nicht installiert ist: Befolgen Sie die Anweisungen unter https://brew.sh/, um den Homebrew -Paket -Manager zu installieren.
brew tap cyclone-scheme/cyclone
brew install cyclone-scheme/cyclone/cyclone-bootstrap

Arch Linux -Benutzer können mit dem AUR installieren:
git clone https://aur.archlinux.org/cyclone-scheme.git
cd cyclone-scheme
makepkg -si

Cyclone ist im offiziellen Gentoo -Paket -Repository erhältlich.

Um Cyclone auf Ihrem Computer erstmals unter Linux, Windows, FreeBSD und Mac-Benutzern zu installieren, die ohne Homebrew installieren möchten, verwenden Sie Cyclone-Bootstrap, um eine Reihe von Binärdateien zu erstellen. Anweisungen für Linux, Mac, Windows (über MSYS) und FreeBSD 12 sind vorgesehen.
Nach der Installation können Sie den Befehl cyclone ausführen, um eine einzelne Schema -Datei zu kompilieren:
$ cyclone examples/fac.scm
$ examples/fac
3628800
Und den icyc -Befehl, um einen interaktiven Dolmetscher zu starten. Beachten Sie, dass Sie rlwrap verwenden können, um den Dolmetscher freundlicher zu gestalten, z. B. 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
Lesen Sie die folgende Dokumentation, um weitere Informationen zur Verwendung von Cyclone zu erhalten.

Der winds -Paket -Manager bietet die Möglichkeit, verpackte Bibliotheken und -programme für Cyclone zu installieren. Weitere Informationen finden Sie in der Website Winds.
Das Wind Wiki enthält eine vollständige Liste von Paketen mit Dokumentation.
Das Benutzerhandbuch deckt detailliert aus, wie Zyklone verwendet wird und Informationen zu den von Cyclone implementierten Schema -Funktionen enthält.
Für alle von Cyclone bereitgestellten Bibliotheken ist eine API -Referenz verfügbar, einschließlich einer vollständigen alphabetischen Auflistung.
Ein Leitfaden für die Konventionen von Schema -Code.
Wenn Sie eine Ressource benötigen, um die Schema -Sprache zu lernen, möchten Sie möglicherweise ein klassisches Lehrbuch wie die Struktur und Interpretation von Computerprogrammen ausprobieren.
Schließlich vergleicht diese Seite von Ecraven diese Benchmarks -Seite mit der Leistung von Zyklon mit anderen Schemata.
Cyclone bietet mehrere Beispielprogramme, darunter:
Schwanzaufrufoptimierung - Ein einfaches Beispiel für Schema -Schwanz -Anrufoptimierung; Dieses Programm läuft für immer und ruft zwei für beide Seiten rekursive Funktionen auf.
Threading - verschiedene Beispiele für Multi -Thread -Programme.
Game of Life - Das Programm des Conway -Beispielprogramms und Bibliotheken aus R 7 Rs.
Game of Life PNG Image Generator - Eine modifizierte Version von Game of Life, die LIBPNG verwendet, um ein Bild jeder Iteration zu erstellen, anstatt es an eine Konsole zu schreiben. Dieses Beispiel zeigt auch die grundlegende Nutzung der C (FFI Fremd Function Interface).
Schließlich ist das größte Programm der Compiler selbst. Der größte Teil des Codes ist in einer Reihe von Bibliotheken enthalten, die von cyclone.scm und icyc.scm verwendet werden, um ausführbare Funktionen für den Compiler und Interpret von Cyclon zu erstellen.
Das Schreiben des Cyclone Scheme Compiler bietet hochrangige Details darüber, wie der Compiler geschrieben wurde und wie er funktioniert.
Es gibt einen Entwicklungsleitfaden mit Anweisungen für gemeinsame Aufgaben beim Hacken des Compilers selbst.
Der Müllsammler von Cyclon ist auf hoher Ebene dokumentiert. Dieses Dokument enthält Details zur Erweiterung von Cheney auf dem MTA, um mehrere Stapel zu unterstützen und diesen Ansatz mit einem Tri-Color-Markierungssammler zu verschmelzen.
Copyright (C) 2014 Justin Ethier.
Cyclone ist unter der MIT -Lizenz erhältlich.