Expand description
§Stak Scheme
The miniature, embeddable R7RS Scheme implementation in Rust
Stak Scheme aims to be:
- An embeddable Scheme interpreter for Rust with very small memory footprint and reasonable performance
- Its virtual machine (VM) is written in only 1.5 KLOC in Rust.
- The minimal implementation of the R7RS-small standard
- A subset of Chibi Scheme, Gauche, and Guile
- A portable scripting environment that supports even no-
stdand no-allocplatforms
For the usage and examples, see the documentation.
§Install
§Commands
To install the interpreter and REPL, run:
cargo install stak
cargo install stak-replTo install the minimal interpreter, run:
cargo install mstak§Libraries
To install Stak Scheme as a library in your Rust project, run:
cargo add stak
cargo add --build stak-build
cargo install stak-compile§Performance
See Performance.
§Limitations
See Limitations.
§References
- This project is based on Ribbit Scheme, the small and portable R4RS implementation.
- Scheme programming language
- The R7RS-small standard
§License
Modules§
- device
- I/O devices.
- dynamic
alloc - Dynamically-defined primitives.
- engine
alloc - A scripting engine.
- file
- File systems.
- module
- Modules.
- process_
context - Process context.
- r7rs
- Primitives for R7RS Scheme.
- sac
- Standalone complex.
- time
- Time measurement.
- vm
- A virtual machine and its runtime values.
Macros§
- include_
module - Includes bytecode of a R7RS Scheme module built by the
stak_buildcrate.