Skip to content

justinethier/cyclone-bootstrap

Repository files navigation

cyclone-scheme

Travis CI

Github CI - Linux

Github CI - MacOS

Github CI - MacOS Homebrew

Github CI - Windows

Cyclone Scheme is a brand-new, R7RS 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).

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

  • Concurrency Kit

    NOTE: The best way to install libck is via a package manager such as apt-get. But if a package is not available for this library it can also be built from source. Just replace 0.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, and lib directories to your PATH 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 to Makefile.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.