Frustration: escaping a Turing tarpit with Forth.
https://gitlab.cs.washington.edu/fidelp/frustration
This tutorial walks through a virtual CPU and Forth interpreter written in about 500 lines of Rust (not counting the comments).
It uses literate programming and is formatted as a small book. If you print it out it comes to about 30 pages. You can definitely follow the logic without knowing any Rust.
The focus is on writing the smallest interactive programming environment that can extend itself. A Forth program is included to demonstrate how this extensibility works.
Frustration was heavily inspired by #jonesforth and the J1 Forth CPU, although it doesn't share any of their DNA. I made this because I wanted to get rid of jonesforth's dependence on i386 assembly language.
I would love feedback. Please tell me if pieces are inadequately explained. I want this to be understandable to anyone who wants to learn regardless of past experience.
