Technical books for the MinZ compiler ecosystem.
The definitive guide to Nanz — MinZ's primary language.
Covers the complete language: types, functions, structs, enums, ADTs, pattern matching, lambdas, iterators, pipe operators, metaprogramming, and the TUI framework. Includes the standard library reference and Z80-specific optimization techniques.
| Format | File | Size |
|---|---|---|
| Markdown | Nanz_Language_Book_v7.md | ~160 pages |
| PDF (A5) | Nanz_Language_Book_v7.pdf | 328K |
| EPUB | Nanz_Language_Book_v7.epub | 67K |
Also available in: Spanish, Russian, Slovak, Ukrainian (v2 translations).
How C source becomes Z80 code through the MinZ pipeline.
Covers the C89 parser (cparse), the lowerer, type mapping (int→u16, char→u8), struct-return promotion, the assert system, and comparison with SDCC. A compact guide for contributors working on the C frontend.
| Format | File | Size |
|---|---|---|
| Markdown | C89_Frontend_Internals.md | ~16 pages |
| PDF (A5) | C89_Frontend_Internals.pdf | 62K |
| EPUB | C89_Frontend_Internals.epub | 13K |
Running SAP's ABAP language on 8-bit hardware.
Covers the ABAP frontend (abaplint Wasm parser, Go lowerer), supported constructs (DATA, WRITE, IF, WHILE, FORM, CLASS), selection screens (PARAMETERS), the @screen metafunction for declarative TUI screens, and the PBO/PAI event loop pattern. Includes examples from Hello World to SQLite-backed material master reports.
| Format | File | Size |
|---|---|---|
| Markdown | ABAP_on_MinZ_Book.md | ~12 chapters |
Full C23 (freestanding) on Zilog Z80 — 13/13 features, 619 asserts.
Covers every C standard from C99 to C23: #embed, nullptr, constexpr, _BitInt(N), [[attributes]], <stdbit.h>, auto inference, typeof, digit separators, enum underlying type. Includes Z80-specific considerations (16-bit int, no FPU, byte alignment), libc headers reference, and 19 test programs with examples.
| Format | File | Size |
|---|---|---|
| Markdown | C23_on_Z80_Book.md | 8 chapters + appendices |
| C23_on_Z80_Book.pdf | 71K | |
| EPUB | C23_on_Z80_Book.epub | 17K |
ML-style functional programming on Z80 — ADTs, pattern matching, pipes, 427 asserts.
Covers Frill's 38 features: algebraic data types, exhaustive pattern matching, pipe operators, lambdas, type classes, QTT linearity, property testing. Includes 3 real-world demos: state machine (175 bytes), minigame engine (226 bytes), parser combinator (498 bytes). All compile to Z80 binaries via Z3 SMT solver.
| Format | File | Size |
|---|---|---|
| Markdown | Frill_Language_Guide.md | 16 chapters |
| book/Frill_Language_Guide.pdf | ||
| EPUB | book/Frill_Language_Guide.epub | |
| Article | Frill_on_Z80_Article.md | "ML on ZX Spectrum" |
- Nanz Language Book — Start here. Covers the primary language and all core concepts.
- Frill: ML on ZX Spectrum — Functional programming on Z80. ADTs, match, pipes.
- C23 on Z80 — The C frontend story: C99→C11→C17→C23, all on 8-bit hardware.
- ABAP on MinZ — Multi-language support and the ABAP screen pattern.
- C89 Frontend Internals — For contributors working on the compilation pipeline internals.
Books are written in Markdown. PDF and EPUB are generated with pandoc:
# PDF (requires pandoc + pdflatex)
pandoc docs/Nanz_Language_Book_v7.md -o docs/Nanz_Language_Book_v7.pdf \
--pdf-engine=pdflatex -V geometry:a5paper -V fontsize=10pt
# EPUB
pandoc docs/Nanz_Language_Book_v7.md -o docs/Nanz_Language_Book_v7.epub \
--metadata title="The Nanz Language Book"