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.