🌀 A brand-new compiler that allows practical application development using R7RS Scheme. We provide modern features and a stable system capable of generating fast native binaries.
Find a file
Justin Ethier 917c6c00b3 Fix to cyc_display
Print ellipsis with a lambda received from interpreter, as an inidication there is more that is not being displayed
2015-03-03 13:33:39 -05:00
debug Initial file 2015-02-21 22:15:18 -05:00
docs Initial file 2015-02-21 22:15:18 -05:00
examples Initial file 2015-02-21 22:15:18 -05:00
tests Initial file 2015-02-21 22:15:18 -05:00
.gitignore Initial file 2015-02-21 22:25:06 -05:00
cgen.scm Recognize cons types in funcall's 2015-03-02 22:50:40 -05:00
cyclone.scm Added cmd line option to autogen blocks of code 2015-02-24 12:54:05 -05:00
eval.scm WIP 2015-03-02 23:02:16 -05:00
FEATURES.md Initial file 2015-02-21 22:15:18 -05:00
icyc.scm Conditionally include cyclone-specific stuff 2015-02-21 22:38:13 -05:00
Makefile icyc depends upon the runtime 2015-02-23 13:37:02 -05:00
parser.scm Added header comments 2015-02-22 23:03:33 -05:00
README.md Rename interpreter executable 2015-02-21 22:32:38 -05:00
runtime.h Fix to cyc_display 2015-03-03 13:33:39 -05:00
test.scm WIP 2015-03-02 18:06:03 -05:00
TODO Adding notes for eval integration 2015-03-03 13:31:50 -05:00
trans.scm Added project URL 2015-02-24 15:54:26 -05:00

cyclone-scheme

Cyclone is an experimental Scheme-to-C compiler that uses the Cheney on the MTA technique to implement full tail recursion, continuations, and generational garbage collection.

Building

Prerequisites:

  • make
  • gcc
  • CHICKEN Scheme

CHICKEN is required to bootstrap the Scheme parts of Cyclone. A long-term goal is for the compiler to be self-hosting.

From the source directory, to build and run the compiler:

$ make
...
$ ./cyclone

To run the interpreter:

$ ./icyc

Installation

At the moment there is no support for a separate installation. Just run cyclone from the build directory.

Documentation

Run the cyclone command to compile a single Scheme file, and the repl command to start the interactive interpreter.

List of features.

TODO: "how it works section", or a link to a document that provides a brief overview. Much of this would also involve tying together references

References

License

Copyright (C) 2014 Justin Ethier

License terms TBD