NOTE: A work in progress!
An experiment into implementing elaboration with built-in types and operations.
Adding built-ins/primitives to a language is a common source of frustration and confusion. It’s easy to fall into cycles of trying one approach, and then another, and failing to make progress. The goal of this project is to attempt to explore this design problem in a more isolated fashion.
- initial hard-coded primitives
- operations
- glued eval for nicer errors
- figure out nomenclature: built-ins, primitives, lang-items, pervasives, externs
- declare literals
- declare operators
- external types and operations