Generics
This directory contains the collection of documents describing the generics
feature of Carbon:
- Overview - A high-level description of the generics design,
with pointers to other design documents that dive deeper into individual
topics
- Goals - The motivation and principles guiding the design
direction
- Terminology - A glossary establishing common terminology
for describing the design
- Detailed design - In-depth description
- Appendix: Coherence - Describes the rationale
for Carbon's choice to have coherent generics, and the alternatives.
- Appendix: Rewrite constraints -
Describes the detailed rules governing rewrite constraints, and why
resolving them terminates.
- Appendix: Witness tables - Describes an
implementation strategy for checked generics, and Carbon's rationale for
only using it for dynamic dispatch.