awesome-scheme

Scheme library guide

A curated list of Scheme programming libraries and resources

A curated list of awesome Scheme libraries and resources

GitHub

340 stars
14 watching
24 forks
last commit: 28 days ago
awesomeawesome-listlispscheme-programming-language

Awesome Scheme / Translations

Русский
Español

Awesome Scheme / Advocacy

Why Structure and Interpretation of Computer Programs matters
Why Write Compilers in Scheme?
Why LambdaChip is using Scheme

Awesome Scheme / Standards

R5RS (1998, )
unofficial errata-corrected version (2007; ; ; )

Awesome Scheme / Standards / unofficial errata-corrected version

unofficial errata-corrected version Libraries ( ; )
unofficial errata-corrected version Appendices ( ; )
unofficial errata-corrected version Rationale ( ; )

Awesome Scheme / Standards

errata-corrected version (2013; ; ; )
R7RS large edition 98 12 months ago (in progress)
SRFI (Scheme Requests for Implementation)

Awesome Scheme / Implementations / Compiling to Native Code

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

Awesome Scheme / Implementations / Based on Another Scheme

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

Awesome Scheme / Implementations / Compiling 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

Awesome Scheme / Implementations / Bytecode VMs 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 378 9 days ago : R6RS, based on Common-Language-Runtime (CLR)
Kawa : R7RS, based on JVM, compile to JVM classes, limited optional typing
STklos : R7RS except that only has partial hygiene and lexical scope; ad-hoc portable VM, with CLOS-like object system

Awesome Scheme / Implementations / Based on JavaScript

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

Awesome Scheme / Implementations / Implemented in Python

Calysto Scheme 275 about 1 year ago : Partial R6RS, written in Scheme, transpiled to Python

Awesome Scheme / 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

Awesome Scheme / Books

Structure and Interpretation of Computer Programs : classic computer science textbook from MIT
How to Design Programs : an easier-to-approach, more down-to-earth counterpart to SICP
The Little Schemer : teaches recursive thinking using Scheme ( )
The Seasoned Schemer : continuation of The Little Schemer ( )
The Reasoned Schemer : teaches logic programming using Scheme ( )
The Scheme Programming Language : language reference by the author of Chez Scheme
Essentials of Programming Languages : textbook on programming language implementation

Awesome Scheme / Research Papers

Bibliography of Scheme research 150 over 1 year ago

Awesome Scheme / Editors and IDEs

Geiser : most comprehensive Emacs support for many Scheme implementations ( )
Scheme-langserver 162 7 days ago : a new scheme language server focusing on digesting incomplete scheme source code and giving out useful language features. It's different from other REPL counterparts for it provides local identifier auto complete and many other functionalities

Awesome Scheme / Applications

GNUCash : personal finance app scriptable in Guile
SIAG: Scheme In A Grid : old Scheme-scriptable spreadsheet with built-in web server

Awesome Scheme / Web Development

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

Awesome Scheme / Text Processing

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

Awesome Scheme / 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 201 18 days ago : live coding with Scheme in Max/MSP

Awesome Scheme / Languages and Computation

Nanopass Framework : a DSL for factoring compilers into many small passes and IRs
Harlan 1,185 about 9 years ago : a Scheme-based programming language for GPU computing
packrat : a PEG parser generator with a Scheme DSL ( , , )
Home & Docs 47 11 months ago r6rs-pffi - portable foreign-function interface for several implementations (R6RS; ; Akku)

Awesome Scheme / 2022

Scheme and Functional Programming Workshop at ICFP : September 16 - Ljubljana, Slovenia

Awesome Scheme / 2021

Scheme and Functional Programming Workshop at ICFP : August 27 - virtual
European Lisp Symposium : May 3-4 - virtual

Awesome Scheme / 2021 / 2020

Racketfest : February 27 - Berlin, Germany
European Lisp Symposium : April 27-28 - virtual
Scheme and Functional Programming Workshop at ICFP : August 24-26 - virtual
Dynamic Languages Symposium at SPLASH : November 15-20 - Chicago, USA

Awesome Scheme / 2021 / 2019

Scheme and Functional Programming Workshop at ICFP : August 18 - Berlin, Germany
Gambit Scheme 30th anniversary workshop 40 almost 5 years ago : October 12-13 - Montreal, Canada