Ridgun
The language itself: a compiler that compiles itself, the stable project tool, the specification and the book
| 1 | # docs/book/en/ — The Ridgun Book (Online Guide in English) |
| 2 | |
| 3 | | Path | What | Read when | |
| 4 | |---|---|---| |
| 5 | | `index.html` | Interactive online book in HTML/CSS/JS (light/dark theme, search, Ridgun syntax highlighting) | Opening the complete book in a browser | |
| 6 | | `00-why-do-i-need-ridgun.md` | Chapter 00: Why Do I Need Ridgun? Oh Really? I Had No Idea... Tell Me More! | Motivation, everyday pain points solved, and high-level overview | |
| 7 | | `01-welcome-to-ridgun.md` | Chapter 01: Philosophy, advantages, language comparison, and first program | Getting introduced to the language | |
| 8 | | `02-getting-started-and-tooling.md` | Chapter 02: `ridgunc`, `stable`, `build.rg`, and project workflow | Setting up and compiling Ridgun projects | |
| 9 | | `03-functions-types-and-alignment.md` | Chapter 03: Functions, type signatures, tabular style, scalar types, and strings | Learning core syntax and canonical tabular formatting | |
| 10 | | `04-pattern-matching-and-guards.md` | Chapter 04: Pattern matching, boolean guards, and tail-call optimization (TCO) | Functional control flow and tail-recursive loops | |
| 11 | | `05-lists-tuples-and-sequences.md` | Chapter 05: Lists, tuples, variadic functions, and sequence masks | Working with collections and data pipelines | |
| 12 | | `06-algebraic-data-types-and-polymorphism.md` | Chapter 06: ADTs (records and sum types), polymorphism (`A`..`Z`), and `op` operators | Modeling data domains and generic functions | |
| 13 | | `07-higher-order-functions-and-dag-parallelism.md` | Chapter 07: `map`/`||map`/`filter`/`||filter`/`fold`, parallel `||` DAGs, agents (`agent`, `send ... to`, `receive from`), and channels | Higher-order functional programming and concurrency | |
| 14 | | `08-tensors-rmm-regions-and-systems.md` | Chapter 08: Symbolic-dimension tensors, RMM (`RMM1`/`RMM2`), memory regions, MMIO, and POSIX | Numerical computing, deterministic memory, and UNIX systems programming | |