Skip to content

schemedoc/awesome-scheme

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 

Awesome Scheme

Awesome

Translations

Contents

Events (2021)

Advocacy

Standards

Implementations

Native Compilers

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-Scheme: 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.
  • STklos: R7RS except for the module system; ad-hoc portable VM, with CLOS-like object system.

JavaScript Interpreter

  • BiwaScheme: R6RS, partial R7RS, compiler to intermediate represantion + VM
  • LIPS: R7RS, most of the spec is written in core Scheme, good interop with JavaScript

Package Managers

  • Akku: for portable R6RS and R7RS libraries
  • Snow: for portable R7RS libraries
  • GNU Guix: purely-functional package manager and GNU/Linux distro
  • Racket Packages: for Racket libraries and applications

Books

Research Papers

Editors and IDEs

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

Applications

Web Development

  • SXML: very popular S-expression representation of XML/HTML
  • CSS-expressions: S-expression representation of CSS (Racket)
  • chibi html-parser: lenient HTML parser (R7RS; Docs; Akku, Snow)

Text Processing

  • Scribble: popular, somewhat lightweight Scheme-based markup language (Racket, R7RS)
  • Skribilo: TeX/LaTeX-like document processor with Scheme scripting
  • Skribe and Scheme Scribe: older Scheme-based document processors from INRIA
  • Pollen: a fancy typesetting system for writing entire books in Racket

Graphics, Music, Audio, Video

  • LilyPond: music notation language with Scheme scripting
  • libfive: script-driven solid modeling CAD based on Guile
  • Fluxus: portable 3D game engine for live coding in Scheme
  • Impromptu: live coding with Scheme on macOS
  • Extempore: portable live coding in Scheme
  • Scheme For Max: live coding with Scheme in Max/MSP

Languages and Computation

  • Nanopass Framework: a DSL for factoring compilers into many small passes and IRs
  • Harlan: a Scheme-based programming language for GPU computing
  • packrat: a PEG parser generator with a Scheme DSL (Akku, Chicken, Racket)
  • r6rs-pffi - portable foreign-function interface for several implementations (R6RS; Home & Docs; Akku)

Past Events

2020

2019

About

A curated list of awesome Scheme libraries and resources

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published