Appendix C — Add a Feature Checklist (canonical)
Use this checklist when adding a new language feature. The goal is end-to-end coherence.
- Grammar
- update grammar files
- Lexer
- keyword/literal/token scanning
- Parser
- parse rule(s) + AST node construction
- AST
- node definitions + spans
- Semantics
- symbol collection / scoping (if needed)
- Type resolution
TypeInforules + diagnostics
- MLIR lowering
- emit Ora ops for new node forms
- Verification
- dialect invariants (if needed)
- Ora → SIR conversion
- conversion patterns for legality boundary
- Tests
- minimal repros + regression tests (lexer/parser/types/lowering/conversion)
Important: Do not skip tests. Features without tests become “unreviewable debt”.