Skip to main content

Crate stak

Crate stak 

Source
Expand description

§Stak Scheme

GitHub Action Crate Codecov CodSpeed License

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 portable scripting environment that supports even no-std and no-alloc platforms

For the usage and examples, see the documentation.

§Install

§Commands

To install the interpreter and REPL, run:

cargo install stak
cargo install stak-repl

To 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

§License

MIT

Modules§

device
I/O devices.
dynamicalloc
Dynamically-defined primitives.
enginealloc
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_build crate.