MEP-45 research notes
These twelve notes are the deep research that fed MEP 45. Mochi-to-C transpiler. They are informative; the MEP body is normative. Each note is self-contained and can be read independently. Cross-references use [[note-slug]] markers.
| # | Title | Topic |
|---|---|---|
| 01 | Language surface | Mochi language features the C target must lower |
| 02 | Design philosophy | Why C, why monomorphisation, why differential testing |
| 03 | Prior-art transpilers | Nim, Crystal, Vala, OCaml, Roc, Koka, Lean 4, etc. |
| 04 | Runtime building blocks | GC, allocator, coroutines, channels, strings, JSON, HTTP, time |
| 05 | Codegen design | aotir IR, name mangling, decision trees, setjmp/longjmp |
| 06 | Type-system lowering | Type-by-type mapping to C |
| 07 | C target and portability | Tier-1/2/3 triples, zig cc, ABI |
| 08 | Dataset pipeline lowering | Query DSL, joins, group_by, datalog |
| 09 | Streams and agents | M:N scheduler, fibers, channels |
| 10 | Build system | mochi build pipeline, cache layout |
| 11 | Testing and CI gates | Differential testing vs vm3, sanitiser matrix |
| 12 | Risks and alternatives | Risk register, alternatives rejected |
See MEP 45 for the normative specification and implementation tracking for per-phase progress.