Expand description
§Grift – A Minimalistic Lisp
A simple Lisp built on top of grift_arena, the arena allocator.
§Features
- No-std, no-alloc: Works in embedded environments with no heap
- Arena-allocated: All values live in a fixed-size arena
- Simple API: Parse and evaluate Lisp expressions in one call
§Example
use grift::{Lisp, Value};
let lisp: Lisp<20000> = Lisp::new();
let three = lisp.eval("(+ 1 2)");
assert_eq!(three, Ok(Value::Number(3)));Structs§
- Arena
Index - Index into the arena.
- Arena
Stats - Statistics about arena usage.
- Builtin
Id - Type-safe identifier for built-in functions.
- GcStats
- Statistics returned by garbage collection.
- Lisp
- A minimalistic Lisp interpreter backed by a fixed-size arena.
Enums§
- Arena
Error - Errors that can occur during arena and Lisp operations.
- Value
- A Lisp value stored in the arena. Variants can only inline max two arenaindex sized data.
Type Aliases§
- Arena
Result - Result type for arena operations.