Overview
Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore definition-checked generic programming in this two-part conference talk from CppNow 2023. Dive into the advantages of checked generics over C++20 templates and concepts, examining approaches from C++0x, Swift, Rust, and Carbon. Investigate challenging aspects of implementing definition-checked generics in C++-like languages, including undecidability and non-termination issues. Learn from industry experts Chandler Carruth, Josh Levenberg, and Richard Smith as they discuss their work on the Carbon language project and propose solutions to key problems in generic programming systems.
Syllabus
Introduction
Outline
Open Design
Type Equality
Types
Rewrite Rules
Swift
Rust
Carbon
modal constraints
implicit conversion
summary
always terminate
ignore
recursion limit
recursion limits
disallow recursion
use cases
refinement
strictly more complex
Proof
Possible Improvements
Conclusion
Coherence
Trait Coherence
Decoder Ring
retroactive conformance
glue code
subtle bugs
similar disconnect
Swift regret
No retroactive performance
Coherent
ORF
Overlap Rule
Example
Orphan Rules
Root Cause
Rebalancing Coherence
Adapter
Other Questions
Conversion
Specialization
Taught by
CppNow