Is concept design relevant or appropriate for programming language design?

Language design has become more accessible, with more and better tools than were previously available.*

  • What place does concept design have in language design?
  • What language concepts should be in the Concept catalog?

[* LEX, YACC, GCC & a copy of the dragon book]

Jonathan Aldrich at CMU has done some really nice work on this, and has included concept design in his PL classes. Slides here show really nice example of using concepts to split a PL concept (untyped dynamic semantics) into two more independent concepts using the principle of specificity. In these slides, he also mentions dependences, which get a whole chapter in the book (but appeared more briefly in the draft that Jonathan’s comments are based on). There’s also an assignment about applying concept design to PL here.

Thanks to Josh Pollock for bringing these to my attention!