Awesome
Cyclone Scheme is a brand-new, R<sup>7</sup>RS Scheme-to-C compiler that uses a variant of Cheney on the MTA to implement full tail recursion, continuations, and generational garbage collection.
This repository uses intermediate code generated by compiling our Scheme source files to build and install Cyclone Scheme on a fresh system. The compiler is self-hosting and cannot be built directly on a system without Cyclone binaries installed.
Supported Platforms
Cyclone has been built and tested on Linux, Mac, Windows (using MSYS), and FreeBSD 12.0 (with clang 6.0.1).
-
Mac Users - please read Instructions for building on Mac.
-
Windows Users - please read Instructions for building on Windows using MSYS.
-
FreeBSD Users - please read Instructions for building on FreeBSD.
Otherwise please follow the instructions below to build and install Cyclone.
Packaged Installations
It is possible to install Cyclone via package manager if your system provides one. As of now the only platform that provides packaging is Arch Linux using the cyclone-scheme
package from the AUR.
On other systems the following prerequisites must be installed before proceeding with the installation steps below.
Prerequisites
-
make
-
gcc
-
NOTE: The best way to install
libck
is via a package manager such asapt-get
. But if a package is not available for this library it can also be built from source. Just replace0.5.2
below with the latest version available from their website:wget http://concurrencykit.org/releases/ck-0.5.2.tar.gz tar xfz ck-0.5.2.tar.gz ; cd ck-0.5.2 ; ./configure PREFIX=/usr && make all && sudo make install sudo ldconfig
On a Debian variant such as Ubuntu the necessary packages may be installed via the command:
sudo apt-get install libck-dev make gcc
The following command can be used to install dependencies on Fedora:
sudo dnf install ck-devel gcc make
On FreeBSD 12 use the following command:
sudo pkg install concurrencykit gmake
Installation
First, download the latest release in either zip
or tar.gz
format and unpack the archive.
Use make
(or gmake
on FreeBSD) without arguments to install in the default location (/usr/local
):
make
sudo make install
make test
or include an argument to specify the install directory, EG:
make PREFIX=/home/my-username
make PREFIX=/home/my-username install
make test
Note:
-
When installing to a custom location, you may need to add the corresponding
bin
,include
, andlib
directories to yourPATH
in order to run cyclone and complete the installation. -
If you are building on a platform that requires special compiler commands, such as a Raspberry Pi, copy the appropriate
Makefile.config.X
file toMakefile.config
before doing a build.
At the moment, Cyclone has been tested on Linux using GCC and on FreeBSD 12 with clang 6.0.1. Other platforms may be added in the future.
Documentation
For more information please return to the main Cyclone page.
License
Copyright (C) 2014 Justin Ethier.
Cyclone is available under the MIT license.