1.
Introduction
2.
Allocation
2.1.
Alignment
2.2.
Obtaining blocks of memory
2.3.
The type of allocation
3.
An allocator: Sticky Immix
3.1.
Bump allocation
3.2.
Allocating into multiple blocks
3.3.
Defining the allocation API
3.4.
Implementing the API
4.
An interpreter: Eval-rs
4.1.
Allocating objects and dereferencing safely
4.2.
Tagged pointers and object headers
4.3.
Symbols and Pairs
4.4.
Parsing s-expressions
4.5.
Arrays
4.6.
Bytecode
4.7.
Dicts
4.8.
Virtual Machine: Design
4.9.
Virtual Machine: Implementation
4.10.
Compiler: Design
4.11.
Compiler: Implementation
5.
Garbage collection
5.1.
TODO - Tracing
5.2.
TODO - Sweeping
5.3.
TODO - Recycling blocks
Light (default)
Rust
Coal
Navy
Ayu
Writing Interpreters in Rust: a Guide
404 - this chapter has not yet been written