Mochi Enhancement Proposals
A MEP is a design document for the Mochi language, type system, and toolchain. The full process is described in MEP 0. The list below is generated from the frontmatter of every mep-NNNN.md file in the docs tree, so new proposals appear here automatically once npm run gen:meps (or any npm start / npm run build) regenerates the manifest.
All MEPs
| MEP | Title | Status |
|---|---|---|
0000 | Index of Mochi Enhancement Proposals Index of Mochi Enhancement Proposals. | Active |
0001 | Lexer Mochi's token classes, reserved words, lexical errors, and conformance corpus, specified end-to-end with no corner cases. | Informational |
0002 | Grammar Mochi's PEG grammar in full, with the design principles and conformance obligations that fix the language. | Informational |
0003 | Abstract Syntax Tree Mochi's AST as a closed family of tagged unions, the encoding that makes parse output unambiguous, and the soundness invariants every consumer can rely on. | Informational |
0004 | Type System The kinds, the comparisons, the numeric tower, and the places where Mochi's type system does not yet do what it claims. | Informational |
0005 | Type Inference Strict static algebraic type inference. Principal types, no implicit any, no null. | Standards Track |
0006 | Type Checker Entry point, builtin environment, statement walk, and the diagnostic catalogue. | Informational |
0007 | Soundness Progress, preservation, and the test obligations that prove them. | Active |
0008 | Test Strategy The five test layers, the golden harness, and the TAPL chapter mapping. | Active |
0009 | Fixture Catalogue Inventory of parser and type fixtures with a property coverage matrix. | Informational |
0010 | Known Gaps and Weakness Review Catalogue of soundness gaps, surprising behavior, and tracked follow-ups. | Informational |
0011 | Subtyping and Variance A separate subtype predicate, the variance lattice, and the closure of any. | Active |
0012 | Parametric Polymorphism System-F-lite call-site inference, fresh type variables, and the end of any-builtins. | Active |
0013 | Algebraic Data Types and Match Struct and union typing rules, match exhaustiveness, irredundancy, and recursive types. | Draft |
0014 | Query Algebra LINQ-shaped query expressions, clause-by-clause type rules, and aggregate semantics. | Informational |
0015 | Effects A labeled effect system over function types. Pure by default, inferred from the body, annotatable at module boundaries, enforced where purity matters. | Draft |
0016 | Null Safety Total option discipline with no force unwrap, flow narrowing, safe-call and coalesce operators, and a no-panic guarantee. | Draft |
Process
| MEP | Title | Status |
|---|---|---|
0000 | Index of Mochi Enhancement Proposals Index of Mochi Enhancement Proposals. | Active |
0007 | Soundness Progress, preservation, and the test obligations that prove them. | Active |
0008 | Test Strategy The five test layers, the golden harness, and the TAPL chapter mapping. | Active |
Informational
| MEP | Title | Status |
|---|---|---|
0001 | Lexer Mochi's token classes, reserved words, lexical errors, and conformance corpus, specified end-to-end with no corner cases. | Informational |
0002 | Grammar Mochi's PEG grammar in full, with the design principles and conformance obligations that fix the language. | Informational |
0003 | Abstract Syntax Tree Mochi's AST as a closed family of tagged unions, the encoding that makes parse output unambiguous, and the soundness invariants every consumer can rely on. | Informational |
0004 | Type System The kinds, the comparisons, the numeric tower, and the places where Mochi's type system does not yet do what it claims. | Informational |
0006 | Type Checker Entry point, builtin environment, statement walk, and the diagnostic catalogue. | Informational |
0009 | Fixture Catalogue Inventory of parser and type fixtures with a property coverage matrix. | Informational |
0010 | Known Gaps and Weakness Review Catalogue of soundness gaps, surprising behavior, and tracked follow-ups. | Informational |
0014 | Query Algebra LINQ-shaped query expressions, clause-by-clause type rules, and aggregate semantics. | Informational |
Standards Track
| MEP | Title | Status |
|---|---|---|
0005 | Type Inference Strict static algebraic type inference. Principal types, no implicit any, no null. | Standards Track |
0011 | Subtyping and Variance A separate subtype predicate, the variance lattice, and the closure of any. | Active |
0012 | Parametric Polymorphism System-F-lite call-site inference, fresh type variables, and the end of any-builtins. | Active |
0013 | Algebraic Data Types and Match Struct and union typing rules, match exhaustiveness, irredundancy, and recursive types. | Draft |
0015 | Effects A labeled effect system over function types. Pure by default, inferred from the body, annotatable at module boundaries, enforced where purity matters. | Draft |
0016 | Null Safety Total option discipline with no force unwrap, flow narrowing, safe-call and coalesce operators, and a no-panic guarantee. | Draft |