Scheme lang: Chez, 48 and Chicken

Some docs, refs and containers, respectively.

On learning the Scheme language

The good Will Byrd (github), that I met in person at ICFP 2017, has many advices and his video1 is a good starting point.

Cisco’s Chez Scheme

Cisco open sourced its repo Chez Scheme, which contains an implementation of a (superset) of The Revised⁶ Report on the Algorithmic Language Scheme.

We provide a container for version 10.3.0, which can be pulled by:

docker pull ghcr.io/massimo-nocentini/chez-scheme.docker:10.3.0

it is an alpine-based image and the code is compiled with clang.

Scheme48

Scheme 48 is an implementation of Scheme written by Richard Kelsey and Jonathan Rees. It is based on a byte-code interpreter and is designed to be used as a testbed for experiments in implementation techniques and as an expository tool.

The current version of Scheme 48 is 1.9.3 (released November 2024) and implements the The Revised⁵ Report on the Algorithmic Language Scheme.

We provide the companion container which can be pulled by:

docker pull ghcr.io/massimo-nocentini/scheme48.docker:1.9.3
Categories: containers  scheme  releases 

See also

Lua 5.5.0 is out! Declarations for global variables, named vararg tables, more compact arrays, and major garbage collections done incrementally The (aux anthropic) module The Anthropic Messages API, offline The (aux cml) module Events, threads, synchronous variables, the library and I/O The (aux hakaru10) modules Random sources, distributions, the language, exact inference and examples The (aux kanren) modules Arithmetic, dates, presentation of answers and a union-find miniKanren The (aux games dice-of-doom) module Dice of Doom The (aux machine) modules Environments, the SC machine and the SECD machine The (aux schemer seasoned) module The Seasoned Schemer The (aux continuation) modules Classic operators, escapers, amb and Collatz sequences The (aux category) modules Monads: list, maybe, probability, ziplist, difference lists and state The (aux timsort) module Sorting and the trace buffer The (aux fds) modules Functional queues and union-find The (aux sxml) module Rendering SXML to HTML The (aux variable) module Logic variables introduced by fresh The (aux tabling) module Memoization and tabled definitions The (aux commons) module Learning tests for CHICKEN Scheme Promises delay and make-promise The Ackermann function On unary numbers, as lists Concurrent ML for CHICKEN Scheme Porting SML/NJ CML as the (aux cml) library CHICKEN Scheme Versions and implementation notes The SBRAL data structure Skew Binary Random-Access Lists Pattern matching Scheme macrology: a generalized pattern matcher The Wolfram Engine Implementing the Wolfram Language everywhere The (aux hansei) modules Inference, random sources, lazy lists, logic programming and example models The (aux nondeterministic) module Learning tests for Scheme The (aux stream) modules Streams, streams after SICP, and sequences and power series The (aux unittest) module Bootstrapping a unittest framework The Stanford GraphBase and CWEB A Platform for Combinatorial Computing and a System of Structured Documentation Rust bindings for igraph and the companion container The Reasoned Schemer miniKanren, microKanren and some implementations Aggregation predicates for µkanren Groups, window functions, sets and enumerations miniKanren, live and untagged Quine generation via relational interpreters Pure, declarative, and constructive arithmetic relations A declarative pearl Final shift for call/cc Direct implementation of shift and reset Call with Current Continuation Patterns Cogen in six lines The Seasoned Schemer The Little Schemer Adding generic functions to Scheme Handling control