Scheme-rs: Embedded Scheme for the Rust Ecosystem #
Scheme-rs is an implementation of the
R6RS specification of the Scheme programming
language that is
designed to be embedded within sync and async Rust.
Scheme-rs is safe, fast, and does not sacrifice modern conveniences.
Modern: scheme-rs is a modern scheme implementation of the R6RS standard and includes
advanced features such as delimited continuations.
Fast: scheme-rs uses JIT compilation to provide performance on par with
other modern scheme implementations.
Easy to use: scheme-rs makes it trivial to define Rust functions and data
structures that are accessible from scheme code and vice-versa.
Safe: scheme-rs provides a completely safe API that is impossible to
misuse.
Supports both async and sync Rust: by enabling the async feature flag
it becomes possible (and easy) to define async scheme functions in Rust.
Language server protocol: scheme-rs includes a language server
protocol implementation for editor agnostic tooling, requires
enabling the lsp feature. The LSP only reports read/parse diagnostics
by default; macro-expanding diagnostics require passing
--dangerously-allow-macro-expansion-in-lsp.
AI authored contributions to scheme-rs are expressively disallowed. You may use
LLM tools for debuging or interacting with the codebase, but all PRs must be
hand written by humans.