A curated list of awesome Scheme libraries and resources
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Uses another Scheme as backend
- Chez: R6RS, official installer also for Windows, considered one of the fastest scheme implementations.
- Ikarus R6RS
- MIT/GNU Scheme: R7RS
Transpilers to C
- Gerbil: R7RS, compiles to C, based on Gambit, extends gambit with better macro and module systems.
- Racket: R6RS, beginner friendly, full Windows support, optional
typing, essentially a superset of scheme, tons of libraries, moving/moved to a Chez Scheme backend.
Bytecode VM's and JVM/CLR
- Chicken: R5RS and R7RS, beginner friendly, exceptional community, unique implementation of GC.
- Cyclone: R7RS, experimental extension of Chicken-style GC with native thread support.
- Gambit: R5RS, official installers also for
macOS, iOS, Windows, considered quite fast.
- Bigloo: R5RS, can also compile to Java-Virtual-Machine (JVM) classes,
limited optional typing.
- Chibi: R7RS
- Gauche: R7RS, compiles to standalone
executable, official installers also for Windows, Docker.
- GNU Guile: R6RS, getting JIT executable support soon, beginner friendly, officially supported by GNU, scripting language for many pieces of GNU software.
- IronScheme: R6RS, based on Common-Language-Runtime (CLR).
- Kawa: R7RS, based on JVM, compile to JVM classes, limited optional typing.
- Larceny: R6RS and R7RS, generate native code, official installers also for macOS, Windows.
- Scheme48: classic, unmaintained but useful.
- Scsh: classic, unmaintained but useful.
- Ypsilon: classic, unmaintained but useful.
Read, Learn, Teach
Editor and IDEs
- Akku: Implementation agnostic R6RS and R7RS packages.
- GNU Guix: Functional package manager and operating system distribution for GNU sytem.
- Snow: Portable R7RS libraries.
- Racket: Racket-specific packages.
- Geiser: most comprehensive Emacs support for many Scheme implementations (MELPA)
Languages and computation
- chibi html-parser: lenient HTML parser (R7RS; Docs; Akku, Snow)
Foreign Function Interface
- Harlan: a Scheme-based programming language for GPU computing
- r6rs-pffi - portable foreign-function interface for several implementations (R6RS; Home & Docs; Akku)