Steel is a scheme interpreter that can be embedded in applications or used on its own. It is inspired by Racket and aims to be a high-performance scheme variant. The implementation includes a powerful macro system and a bytecode virtual machine. The API is currently unstable, but the developer uses it for daily scripting tasks. Steel supports limited syntax-rules style macros, easy integration with Rust functions and structs, and built-in immutable data structures. It also implements higher order contracts for design by contract functionality. Steel has module support for projects spanning multiple files and allows embedding of Rust values and functions. Performance benchmarks show promising results compared to Python.
https://github.com/mattwparas/steel