Cédric Champeau illustrates what a modern DSL written in Groovy is, syntactically speaking, and implementation wise. He also covers how you can improve the syntax of your DSL, its performance, and UX.
Dominic Robinson reflects on several concurrency models, trying to assess which is more pleasant to work with.
Eelco Visser, Vlad Vergu demonstrate how Spoofax simplifies the process of specifying syntax using SDF3, name analysis using NaBL and type analysis using TS, code generation in Stratego.
Juha-Pekka Tolvanen keynotes on what modeling languages and generators are more helpful and cost effective.
The authors share insights from their experience building DSLs for business people.
John Slaby discusses the reasons why he prefers fluent APIs and examine, through examples, the many different ways that Fluent APIs can be used to help produce better solutions than external DSLs.
Stefan Chis demos building a Lisp dialect in Scala, covering: parsing code, defining data types and functions, evaluating expressions, implementing higher order functions.
William Cook introduces Enso, an external language workbench with both graphical and textual editing capabilities.
Tim Williams describes one of the world's largest commercial Haskell deployments (Barclays) and shares some experiences and insights gained using Haskell to build domain specific languages.
Felienne Hermans introduces BumbleBee, a refactoring and metaprogramming spreadsheets tool based on a DSL that can perform transformations against spreadsheet formulas.
Baruch Sadogursky discusses creating DSLs which support plugins written both in Groovy or Java, addressing good public API design practices, security, and classpath isolation.
Friedman and Byrd explain how to encode deterministic and non-deterministic finite automata, push-down automata, and Turing Machines in miniKanren, a DSL for relational (pure logic) programming.