[cyclone-scheme](http://justinethier.github.com/cyclone) Cyclone is an experimental Scheme-to-C compiler that uses the [Cheney on the MTA](http://www.pipeline.com/~hbaker1/CheneyMTA.html) technique to implement full tail recursion, continuations, and generational garbage collection. Getting Started --------------- 1. To install Cyclone on your machine for the first time use [**cyclone-bootstrap**](https://github.com/justinethier/cyclone-bootstrap) to build a set of binaries. 2. After installing you can run the `cyclone` command to compile a single Scheme file: $ cyclone examples/fac.scm $ examples/fac 3628800 And the `icyc` command to start an interactive interpreter: $ icyc :@ @@@ @@@@: `@@@@@+ .@@@+@@@ Cyclone @@ @@ An experimental Scheme compiler ,@ https://github.com/justinethier/cyclone '@ .@ @@ #@ (c) 2014 Justin Ethier `@@@#@@@. Version 0.0.1 (Pre-release) #@@@@@ +@@@+ @@# `@. cyclone> (write 'hello-world) hello-world 3. If you need help learning the Scheme language try a classic textbook such as [Structure and Interpretation of Computer Programs](https://mitpress.mit.edu/sicp/full-text/book/book.html). Also, check out the [features](docs/Features.md) page for a list of language features currently implemented. Documentation ------------- For more information about the Scheme language implemented by Cyclone, see the [R7RS Scheme Specification](http://trac.sacrideo.us/wg/wiki). The [features](docs/Features.md) page lists the language features currently implemented. The [development](docs/Development.md) page contains instructions for hacking on Cyclone. References ---------- - [CONS Should Not CONS Its Arguments, Part II: Cheney on the M.T.A.](http://www.pipeline.com/~hbaker1/CheneyMTA.html), by Henry Baker - [CHICKEN Scheme](http://www.call-cc.org/) - [Chibi Scheme](https://github.com/ashinn/chibi-scheme) - [Compiling Scheme to C with closure conversion](http://matt.might.net/articles/compiling-scheme-to-c/), by Matt Might - [Lisp in Small Pieces](http://pagesperso-systeme.lip6.fr/Christian.Queinnec/WWW/LiSP.html), by Christian Queinnec - [R5RS Scheme Specification](http://www.schemers.org/Documents/Standards/R5RS/HTML/) - [R7RS Scheme Specification](http://trac.sacrideo.us/wg/wiki) - [Structure and Interpretation of Computer Programs](https://mitpress.mit.edu/sicp/full-text/book/book.html), by Harold Abelson and Gerald Jay Sussman - [The 90 minute Scheme to C compiler](http://churchturing.org/y/90-min-scc.pdf), by Marc Feeley License ------- Copyright (C) 2014 [Justin Ethier](http://github.com/justinethier). Cyclone is available under the [MIT license](http://www.opensource.org/licenses/mit-license.php).