ScalaIO - Tomer Gabel - A Field Guide to DSL Design
Scala's powerful type system and flexible syntax enable the design of internal DSLs, e.g. for test specifications in Specs²/ScalaTest, routing in Spray and query construction in Squeryl. While immensely useful, the budding DSL designer will quickly realize that there are precious few resources on how to approach DSL construction in Scala; the techniques, limitations and workarounds are not well understood or documented. In this talk I'll attempt to summarize lessons learned from reading, extending and designing Scala DSLs in the hopes of saving future Scala library designers a world of pain.
October 23, 2014