What is it?

Scheme Spheres is the batteries (as in "batteries included") for the Gambit Scheme Compiler. It is a collection of modules and tools to help you build stuff. With it, you will be able to:

  1. 1.Build applications fast from customizable generators with zero time spent on configuration.
  2. 2.Get immediate access to many modules from the community, and many more created just for Spheres.
  3. 3.Build apps and games natively for Android, iOS and Linux/OSX/Windows harnessing the power of Scheme on top of C.

Download and get started

Get the latest release. Then go to the Quickstart and installation, or check out the Guides


Some of features that Gambit and SchemeSpheres offer are:

  1. (SchemeSpheres brings to you and makes easy to install/uninstall many SRFIs and popular libraries, taking care of dependencies for you.
  2. (Structured and reviewed modules, libraries and C-library bindings (BSD/MIT-compatible), ready for you to use with Gambit.
  3. (Tools to facilitate automation (such as compilation, cross-compilation, remote debugging, asset processing...).
  4. (Multiplatform application generators to get up and running fast.
  5. (SchemeSpheres and beginners get along nicely: just use a generator and you can start hacking or following a tutorial (we are working on that).
  6. (SchemeSpheres and hard-core programmers get along nicely: you get to customize everything about it, as it follows a layered structure with minimal clutter.
  7. (You get the full power of Gambit Scheme Compiler, and its low-level features.
  8. (A set of guides, tutorials and documentation to complement those from Gambit.

If you are interested in the internals of SchemeSpheres, you can dive into the details of how Spheres work.

SchemeSpheres is not a module system. It doesn't do the same thing as R7RS's module system or Blackhole, and we didn't use any of these because they weren't ready for the needs of SchemeSpheres. However, the current system allows the use of the namespaces functionality in Gambit, and brings you automatic dependency handling of the modules, effectively rendering similar functionality. As soon as R7RS is ready for Gambit, SchemeSpheres will be ported to it.

Also, SchemeSpheres is not a framework. It follows the modules + generators approach, which means that you'll have total control to design your own ways and keep it lightweight and personal. Anything generated by Fusion is self-contained and completely flexible, to be used as a starting point.

Lisp isn't a language, it's a building material.

Alan Kay

Programs must be written for people to read, and only incidentally for machines to execute.

Abelson & Sussman, SICP

The key to performance is elegance, not battalions of special cases.

Jon Bentley and Doug McIlroy