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
- docker run -it schemers/bigloo
- docker run -it schemers/chezscheme
- docker run -it schemers/chicken
- docker run -it schemers/cyclone
- docker run -it schemers/gambit
- docker run -it schemers/gerbil
- docker run -it schemers/jazz
- docker run -it schemers/gauche
- docker run -it schemers/guile
- docker run -it schemers/ironscheme
- docker run -it schemers/kawa
- docker run -it schemers/loko
- docker run -it schemers/mit-scheme
- docker run -it schemers/racket
- docker run -it schemers/sagittarius
- docker run -it schemers/stklos
Small, actively maintained
- docker run -it schemers/biwascheme
(JavaScript)
- docker run -it schemers/chibi (C)
- docker run -it schemers/lips
(Javascript)
- docker run -it schemers/mosh
- docker run -it schemers/owl (C)
- docker run -it schemers/otus (C)
- docker run -it schemers/rep (C)
- docker run -it schemers/s7 (C)
- docker run -it schemers/scm (C)
- docker run -it schemers/sigscheme (C)
- docker run -it schemers/skint (C)
- docker run -it schemers/tinyscheme (C)
- docker run -it schemers/tr7 (C)
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.
- docker run -it schemers/ikarus
- docker run -it schemers/larceny
- docker run -it schemers/oaklisp
- docker run -it schemers/picrin (C)
- docker run -it schemers/rscheme
- docker run -it schemers/scheme48
- docker run -it schemers/scsh
- docker run -it schemers/siod
- docker run -it schemers/sisc
- docker run -it schemers/ypsilon
Research systems
- docker run -it schemers/schemik (implicitly
parallel Scheme)
- docker run -it schemers/digamma (Scheme on
LLVM)
Curiosities
- docker run -it schemers/conscheme (Go)
- docker run -it schemers/dfsch (C)
- docker run -it schemers/elk (C)
- docker run -it schemers/femtolisp (C)
- docker run -it schemers/foment (C++)
- docker run -it schemers/husk (Haskell)
- docker run -it schemers/ksi (C)
- docker run -it schemers/minischeme (C)
- docker run -it schemers/pc-scheme (C, DOS)
- docker run -it schemers/rhizome-pi (C)
- docker run -it schemers/s9fes (C,
Unix/Plan9)
- docker run -it schemers/schluessel (Java)
- docker run -it schemers/shoe (C, Unix)
- docker run -it schemers/sizzle (C, Unix)
- docker run -it schemers/stalin (C, Unix)
- docker run -it schemers/sxm (C, Unix)
- docker run -it schemers/umb (C, Unix)
- docker run -it schemers/unlikely (C, Unix)
- docker run -it schemers/vicare
- docker run -it schemers/vscm
- docker run -it schemers/vx
- docker run -it schemers/xscheme
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.