Scheme Containers

"The least unofficial curated collection of ready-to-run Scheme implementations!"

Containers?

Docker is an easy way to run foreign Linux software on Linux, Windows, and Mac OS. The software runs in a container isolated from the rest of your operating system; it can't mess with your files or processes, and you don't need to permanently install anything.

Scheme containers?

We took advantage of the opportunity to make containers for a whole bunch of Scheme implementations. If you already have Docker, these are the fastest way to explore Scheme. They are also great for testing the portability of Scheme code, and they serve as executable documentation for how to build the implementations from source code.

What's in the container?

Each container goes into a REPL (read-eval-print loop) by default. Implementations that compile Scheme to C have GCC in the container so you can build programs too. Most containers are based on Debian Linux.

Available implementations

Big, actively maintained

Small, actively maintained

Unmaintained classics

Please note: Scheme implementations tend to bit-rot much slower than most code. Just because an implementation is unmaintained doesn't mean it has stopped working. Many (if not most) implementations keep working for years after active maintenance has ended, requiring few if any patches.

Research systems

Curiosities

Missing Schemes

Java (JVM) based

Other

Tips

Run the latest release version:

docker run -it schemers/guile

At the moment, that's an alias for the latest release with major version 3:

docker run -it schemers/guile:3

Run the latest release from an earlier major version 2:

docker run -it schemers/guile:2

Run a pre-release version:

docker run -it schemers/guile:head

All containers include a "slim" variant of Debian Linux.

Access the shell:

docker run -it schemers/guile:head bash

Run a script using the default dialect of Scheme supported by the implementation:

docker run -it schemers/guile:head scheme-script

Run an R7RS program:

docker run -it schemers/guile:head r7rs-script

Project sites

The containers are served by Docker Hub (schemers) and sourced from GitHub (scheme-containers).

The project does not yet have its own mailing list; please talk in GitHub issues or on the schemeorg list.

scheme on Docker Hub

If you happen to know who owns the username scheme on Docker Hub, we would be very grateful it could be donated to the project. The username seems to have been inactive for as long as it has been registered.