🌀 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
2015-07-17 20:36:37 -04:00
debug Initial file 2015-02-21 22:15:18 -05:00
docs Initial file 2015-02-21 22:15:18 -05:00
examples Obsolete 2015-05-29 21:15:17 -04:00
scheme Added hooks to validate number of fn args 2015-07-14 22:54:14 -04:00
tests Added more I/O tests 2015-06-24 21:22:54 -04:00
.gitignore Initial file 2015-02-21 22:25:06 -05:00
cgen.scm Validate number of args when applying a closure 2015-07-15 22:34:43 -04:00
cyclone.h Added hooks to validate number of fn args 2015-07-14 22:54:14 -04:00
cyclone.scm WIP - stack traces 2015-07-13 22:12:32 -04:00
dispatch.c Replace chicken macro with code that can be auto-generated 2015-07-10 22:18:01 -04:00
eval.scm Removed 'Cyc_procedure as it is unnecessary 2015-07-07 21:12:14 -04:00
FEATURES.md Comments on vector support 2015-06-04 21:38:02 -04:00
generate-c.scm Replace chicken macro with code that can be auto-generated 2015-07-10 22:18:01 -04:00
icyc.scm Self-hosted version compiles now, but is very broken... 2015-07-01 22:58:36 -04:00
libraries.scm WIP - compilation of main module 2015-06-30 00:26:46 -04:00
Makefile Tweaks to 'install' 2015-07-16 22:17:24 -04:00
Makefile-bootstrap Working on install/uninstall directives 2015-07-16 21:51:59 -04:00
Makefile.config Working on install/uninstall directives 2015-07-16 21:51:59 -04:00
parser.scm Include invalid escape char in error message 2015-07-02 21:25:34 -04:00
README.md Updated URL 2015-05-26 21:39:15 -04:00
runtime-main.h Added hooks to runtime for call history. 2015-07-10 21:41:49 -04:00
runtime.c Reduced buffer size 2015-07-15 22:15:28 -04:00
runtime.h Added stack trace functions 2015-07-10 21:36:37 -04:00
test.scm Added Cyc-stdout 2015-06-10 23:02:39 -04:00
test2.scm Added basic call history reporting 2015-07-13 21:46:21 -04:00
TODO Potential solution for install dir 2015-07-17 20:36:37 -04:00
transforms.scm Validate number of args when applying a closure 2015-07-15 22:34:43 -04:00
util.scm Refactoring functions out of common.scm 2015-07-01 22:19:30 -04: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