Skip to main content

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.

#TitleTopic
01Language surfaceMochi language features the C target must lower
02Design philosophyWhy C, why monomorphisation, why differential testing
03Prior-art transpilersNim, Crystal, Vala, OCaml, Roc, Koka, Lean 4, etc.
04Runtime building blocksGC, allocator, coroutines, channels, strings, JSON, HTTP, time
05Codegen designaotir IR, name mangling, decision trees, setjmp/longjmp
06Type-system loweringType-by-type mapping to C
07C target and portabilityTier-1/2/3 triples, zig cc, ABI
08Dataset pipeline loweringQuery DSL, joins, group_by, datalog
09Streams and agentsM:N scheduler, fibers, channels
10Build systemmochi build pipeline, cache layout
11Testing and CI gatesDifferential testing vs vm3, sanitiser matrix
12Risks and alternativesRisk register, alternatives rejected

See MEP 45 for the normative specification and implementation tracking for per-phase progress.