Designing A Feature That Doesn't Fit
summary
A concrete problem is controlling per-thread parameters like stack size when the C++ abstract machine has no defined “stack,” so the working approach adds an opaque thread attributes object plus a make_thread factory that returns success/failure without forcing exceptions; a companion get_attributes query lets code inspect runtime behavior. A reference implementation proves feasibility but reveals adoption problems (native_handle under-specified, multiple stacks, overlap with executors/D0737), and the proposal P0320 remains under committee discussion with no final decision.
AI-written summary · about
chapters (11)
- 0:00Introduction and context
- 1:02User needs and language conflicts
- 7:54Problem statement and gaming needs
- 13:07Abstract machine and standard constraints
- 17:09Proposal writing and committee process
- 23:30Revisions and setbacks
- 31:12Toronto meeting and guidance
- 37:19Politics ethics and consensus
- 40:51Albuquerque plans and surprises
- 43:00Design lessons and human factors
- 45:57Conclusion and ongoing process
related talks
01h 37mC++ And Beyond: Discussion
30mDesign Patterns for Handling/Reporting Errors in C++ - Parallel Algorithms & Executors
59mSoftware Engineering Is About Tradeoffs
36mInterfaces Matter
24mUndermining Information Hiding (and What to Do about It)
01h 28mModern C++ Design reloaded
55mThe Fuller Stack
01h 04mAtomics, Locks, and Tasks (part 2 of 2)
