Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?

The implementations

  • Ikarus - Fast. GPL3.

  • Ypsilon - Used for professional game development.

  • Chez - Best Scheme compiler in the world. Commercial.

  • Larceny - Used for academic research in garbage collection.

  • Mosh - Has support in MonaOS.

  • PLT - Has support for R6RS among it's many dialects.

  • IronScheme - .Net

  • Biwa - Scheme in a web browser. Written in JavaScript.

R6RS support is being added to Guile.

There's a project to add R6RS support to Gambit-C.

Where do I put my libraries?

I keep my libraries in ~/scheme. I have this in my ~/.bashrc:

export SCHEME_LIBRARIES=~/scheme

export MOSH_LOADPATH=$SCHEME_LIBRARIES

export IKARUS_LIBRARY_PATH=$SCHEME_LIBRARIES

export YPSILON_SITELIB=$SCHEME_LIBRARIES

export MOSH_LOADPATH=$SCHEME_LIBRARIES

export LARCENY_LIBPATH=$SCHEME_LIBRARIES:~/src/larceny-gl

export CHEZSCHEMELIBDIRS=~/src/chez-gl:$SCHEME_LIBRARIES

SRFIs for Ikarus

Ikarus doesn't come with any SRFIs. Assuming you keep your source code in ~/src:

$ cd ~/src
$ mkdir r6rs-srfis
$ cd r6rs-srfis
$ bzr branch lp:~scheme-libraries-team/scheme-libraries/srfi

Then adjust your .bashrc:

export IKARUS_LIBRARY_PATH=$SCHEME_LIBRARIES:~/src/r6rs-srfis

OpenGL

Ikarus and Ypsilon come with OpenGL libraries. Libraries for Chez and Larceny are available.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment