iota
An R7RS-small Scheme interpreter in Haskell
These pages document iota, an interpreter for the whole of R7RS-small, written in Haskell. Building and installing it is covered in the README. The report itself is at small.r7rs.org.
Disclaimer: iota was initially written while following the tutorials Write Yourself a Scheme in 48 Hours and Version 2. I left the code unpublished for years and now I revamped it with AI. So most of the source code and documentation that you will see has been generated by AI.
The following documents could be of interest:
- Using iota, the user's guide: the command line, data types, control, macros, libraries, the repl and the standard library.
- R7RS-small coverage, the coverage table against the report, with the few deviations and extensions listed at the end.
- How iota is put together, notes on the inside of the interpreter: the pipeline, the CPS evaluator, hygiene, libraries and numbers.
- Hacking on iota, building, testing, where things go, and how to send a change.
These pages are published at https://fuzztheplanet.github.io/iota or www.skywhi.net/iota.