# 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, and Mosh. ## 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). ## 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` ## Planned * Ypsilon, Picrin (should be simple) * Ikarus, Larceny, Vicare * Chez, and other R6RS, even unmaintained ones * Kawa (Scheme source only, don't know enough about Java) * The Javascipt ones * Racket, Gambit, Cyclone, MIT-Scheme (need to understand how they work) * Every R6RS/R7RS with a library load path mechanism