- Proposed
- Prototype: Complete
- Implementation: In Progress
- Specification: Not Started
One paragraph explanation of the feature.
Why are we doing this? What use cases does it support? What is the expected outcome?
This is the bulk of the proposal. Explain the design in enough detail for somebody familiar with the language to understand, and for somebody familiar with the compiler to implement, and include examples of how the feature is used. This section can start out light before the prototyping phase but should get into specifics and corner-cases as the feature is iteratively designed and implemented.
Why should we not do this?
What other designs have been considered? What is the impact of not doing this?
What parts of the design are still undecided?
Link to design notes that affect this proposal, and describe in one sentence for each what changes they led to.