# Guix Scheme Containers and Environments Run Scheme implementations in Guix containers/environments, and package libraries for them. Supports Chibi, Foment, Sagittarius, Gauche, Loko, STKlos, TR7, Mosh, Chez, and SKINT. ## Portable R6RS and R7RS Libraries Some Scheme systems packaged here will read `R7RS_LIBRARY_PATH` (or `R6RS_LIBRARY_PATH` for R6RS systems) to find paths for strictly conforming R7RS (R6RS) libraries. To copy libraries to these pathes, use the `portable-r7rs-build-system` (`portable-r6rs-build-system`). On systems that support both R6RS and R7RS, the R6RS libraries will take precedence (rationale: R6RS has more stuff). ## Supported ### Chibi Scheme * Package: `chibi-scheme-with-path` * Path: `chibi-lib-dir`, `chibi-binlib-dir` * Supports `R7RS_LIBRARY_PATH` ### Foment * Package: `foment-with-path` * Path: `foment-lib-dir` * Supports `R7RS_LIBRARY_PATH` The build script here will build [Foment](https://github.com/leftmike/foment). The last release of Foment was a long time ago, so the build is for the current HEAD at the time of writing (6089c3c). ### Sagittarius * Package: `sagittarius-scheme-with-path` * Path: `sagittarius-lib-dir` * Supports `R7RS_LIBRARY_PATH`, `R6RS_LIBRARY_PATH` ### Gauche * Package: `gauche-with-path` * Pure Scheme: `gauche-pure-scheme-build-system` TODO: explain gauche, add gauche build system ### Loko * Package: `loko-scheme-with-path` * Path: `loko-scheme-lib-dir` * Supports `R7RS_LIBRARY_PATH`, `R6RS_LIBRARY_PATH` ### STKlos * Package: `stklos-with-path` * Path: `stklos-lib-dir` * Supports `R7RS_LIBRARY_PATH` TODO: loading bytecode ### TR7 * Package: `tr7-with-path` * Path: `tr7-lib-dir` * Supports `R7RS_LIBRARY_PATH` TODO: extensions ### Mosh * Package: `mosh-scheme-with-path` * Path: `mosh-lib-dir` * Supports `R6RS_LIBRARY_PATH` ### SKint * Package: `skint-with-path` * Path: `skint-lib-dir` * Supports `R7RS_LIBRARY_PATH` ### Chez Scheme * Package: `chez-scheme-with-path` * Path: `chez-lib-dir` * Supports `R6RS_LIBRARY_PATH` TODO: heap files? ## Planned Any R6RS/R7RS that has a path mechanism and that can run on a system running Guix should be included. ### Maybe? * Picrin (does not search the filesystem for libraries) * Chicken, Cyclone, Gambit (compilers) * The Javascipt ones * Kawa (java) * Racket, MIT-Scheme (dunno how they work) * Ikarus * Vicare (difficult to compile on modern systems)