Episode 180: The C++0x Concepts Story with Doug Gregor (Part 1)

Algorithms + Data Structures = Programs

In this episode, Conor and Bryce chat with Doug Gregor from Apple about the history of C++0x Concepts.

  • Link to Episode 180 on Website
  • Discuss this episode, leave a comment, or ask a question (on GitHub)

Twitter

  • ADSP: The Podcast
  • Conor Hoekstra
  • Bryce Adelstein Lelbach

About the Guest:

Douglas Gregor is is a Distinguished Engineer at Apple working on the Swift programming language, compiler, and related libraries and tools. He is code owner emeritus of the Clang compiler (part of the LLVM project), a former member of the ISO C++ committee, and a co-author on the second edition of C++ Templates: The Complete Guide. He holds a Ph.D. in computer science from Rensselaer Polytechnic Institute.

Show Notes

Date Recorded:
2024-04-29
Date Released: 2024-05-03

  • C++20 Concepts
  • Swift Programming Language
  • Elements of Programming
  • Tecton: A Language for Manipulating Generic Objects
  • Generic Programming by David Musser and Alexander Stepanov
  • Original paper on concepts for C++0x (Stroustrup and Dos Reis)
  • C++ Concepts vs Rust Traits vs Haskell Typeclasses vs Swift Protocols - Conor Hoekstra - ACCU 2021
  • Paper on the implementation of concepts in ConceptGCC (Gregor, Siek)
  • C++0x Concepts proposal that explains the model (Gregor, Stroustrup)
  • Language wording for concepts that went into C++0x
  • Doug’s last-ditch effort to bring back a simpler C++0x Concepts model using archetypes for type checking
  • Jeremy Siek’s extensive C++0x Concepts writeup

Intro Song Info

Miss You by Sarah Jansen https://soundcloud.com/sarahjansenmusic
Creative Commons — Attribution 3.0 Unported — CC BY 3.0
Free Download / Stream: http://bit.ly/l-miss-you
Music promoted by Audio Library https://youtu.be/iYYxnasvfx8

To listen to explicit episodes, sign in.

Stay up to date with this show

Sign in or sign up to follow shows, save episodes and get the latest updates.

Select a country or region

Africa, Middle East, and India

Asia Pacific

Europe

Latin America and the Caribbean

The United States and Canada