Cyclone Scheme es un nuevo compilador que permite el desarrollo de aplicaciones del mundo real utilizando el estándar de lenguaje del esquema R 7 RS. Proporcionamos características modernas y un sistema estable capaz de generar binarios nativos rápidos.
Cheney en el MTA es utilizado por el tiempo de ejecución de Cyclone para implementar la recursión de cola completa, las continuaciones y la recolección de basura generacional. Además, el Cheney en el concepto MTA se ha extendido para permitir la ejecución de múltiples hilos nativos. Se utiliza un recolector de basura sobre la marcha para administrar el montón de segunda generación y realizar colecciones importantes sin "detener el mundo".
syntax-rulesPuede ejecutar el intérprete del ciclón justo en su navegador. No se requiere instalación.
Para la experiencia completa del usuario: compilar archivos, instalar paquetes, ejecutar código nativo, etc., es necesario instalar una copia de Cyclone.
Hay varias opciones de instalación disponibles:

El ciclón se puede ejecutar desde una imagen de Docker:
docker run -it cyclonescm/cyclone bash

Los usuarios de Mac (y Linux!) Querer usar HomeBrew pueden hacer lo siguiente.
Nota Si Homebrew aún no está instalado: siga las instrucciones en https://brew.sh/ para instalar el Administrador de paquetes HomeBrew.
brew tap cyclone-scheme/cyclone
brew install cyclone-scheme/cyclone/cyclone-bootstrap

Los usuarios de Arch Linux pueden instalar utilizando el AUR:
git clone https://aur.archlinux.org/cyclone-scheme.git
cd cyclone-scheme
makepkg -si

Cyclone está disponible en el repositorio oficial de paquetes de Gentoo.

Para instalar Cyclone en su máquina por primera vez en Linux, Windows, FreeBSD y para los usuarios de Mac que desean instalar sin usar HomeBrew, use Cyclone-Bootstrap para construir un conjunto de binarios. Se proporcionan instrucciones para Linux, Mac, Windows (a través de MSYS) y FreeBSD 12.
Después de instalar, puede ejecutar el comando cyclone para compilar un archivo de esquema único:
$ cyclone examples/fac.scm
$ examples/fac
3628800
Y el comando icyc para iniciar un intérprete interactivo. Tenga en cuenta que puede usar rlwrap para hacer que el intérprete sea más amigable, por ejemplo, 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
Lea la documentación a continuación para obtener más información sobre cómo usar Cyclone.

winds Package Manager proporciona la capacidad de instalar bibliotecas y programas envasados para Cyclone. Consulte el sitio de vientos para obtener más información.
El wiki de vientos contiene una lista completa de paquetes con documentación.
El manual del usuario cubre en detalle cómo usar Cyclone y proporciona información sobre las características del lenguaje del esquema implementado por Cyclone.
Hay una referencia de API disponible para todas las bibliotecas proporcionadas por Cyclone, incluida una lista alfabética completa.
Se proporciona una guía para las convenciones del código del esquema.
Si necesita un recurso para comenzar a aprender el lenguaje del esquema, es posible que desee probar un libro de texto clásico, como la estructura y la interpretación de los programas de computadora.
Finalmente, esta página de referencia de Ecraven compara el rendimiento del ciclón con otros esquemas.
Cyclone proporciona varios programas de ejemplo, que incluyen:
Optimización de llamadas de cola: un ejemplo simple de optimización de llamadas de cola del esquema; Este programa se ejecuta para siempre, llamando a dos funciones mutuamente recursivas.
Hilo: varios ejemplos de programas múltiples.
Juego de la vida: el programa de ejemplo de juego de la vida de Conway y bibliotecas de R 7 Rs.
Game of Life PNG Image Generator: una versión modificada del juego de la vida que usa libpng para crear una imagen de cada iteración en lugar de escribirla para consolar. Este ejemplo también demuestra el uso básico de la interfaz de función extranjera C (FFI).
Finalmente, el programa más grande es el compilador mismo. La mayor parte del código está contenido en una serie de bibliotecas utilizadas por cyclone.scm e icyc.scm para crear ejecutables para el compilador e intérprete de Cyclone.
Escribir el compilador de esquema Cyclone proporciona detalles de alto nivel sobre cómo se escribió el compilador y cómo funciona.
Hay una guía de desarrollo con instrucciones para tareas comunes al piratear el compilador en sí.
El recolector de basura de Cyclone está documentado a un nivel de alto nivel. Este documento incluye detalles sobre la extensión de Cheney en la MTA para admitir múltiples pilas y fusionar ese enfoque con un coleccionista de marcado tricolor.
Copyright (c) 2014 Justin Ethier.
Cyclone está disponible bajo la licencia MIT.