Skip to content
A curated list of awesome Scheme libraries and resources
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
LICENSE
README.md

README.md

Awesome Scheme

Awesome

Contents

Upcoming Events

Advocacy

Standards

Implementations

Native Compilers

  • Chez: R6RS, official installer also for Windows, considered one of the fastest scheme implementations.
  • Ikarus R6RS
  • MIT/GNU Scheme: R7RS

Uses another Scheme as backend

  • 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.

Transpilers to C

  • 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.

Bytecode VM's and JVM/CLR

  • 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.

Javascript Interpreter

Unmaintained

  • 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.

Package Managers

  • 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.

Read, Learn, Teach

Editor and IDEs

  • Geiser: most comprehensive Emacs support for many Scheme implementations (MELPA)

Applications

Web Development

  • chibi html-parser: lenient HTML parser (R7RS; Docs; Akku, Snow)

Languages and computation

Numerical code

  • Harlan: a Scheme-based programming language for GPU computing

Foreign Function Interface

  • r6rs-pffi - portable foreign-function interface for several implementations (R6RS; Home & Docs; Akku)

Past Events

You can’t perform that action at this time.