MesGNU Mes is a Scheme interpreter and C compiler for bootstrapping the GNU System. It has helped to decimate the number and size of binary seeds that were used in the bootstrap of GNU Guix.
The Scheme interpreter is written in ~5,000 LOC of simple C, and the C compiler written in Scheme and these are mutual self-hosting. Mes can now be bootstrapped from M2-Planet and Mescc-Tools.
Mes has a garbage collector, a library of loadable Scheme modules– notably Dominique Boucher's LALR, Pre-R6RS portable syntax-case with R7RS ellipsis, Matt Wette's Nyacc –and test suite, just enough to support a REPL and a C99 compiler: mescc.
https://www.gnu.org/software/mes/
Supporting SRFIs (as listed in the source tree, note that some have and multiple versions, some functionality are adapted for various stages in the bootstraping):
SRFI-1, SRFI-2, SRFI-8, SRFI-9,
SRFI-11, SRFI-13, SRFI-14, SRFI-16,
SRFI-26, SRFI-37, SRFI-39, SRFI-43,
SRFI-132
|