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.
Jim Driscoll shows how to create Napili, a small program accepting user scripts to control a turtle using GroovyShell, the Binding, overriding behavior with set/getVariable and invokeMethod, and more.
Leo Meyerovich introduces Superconductor, a browser-based language for massive interactive visualizations using end-to-end parallel DSLs and a synthesis DSL for parallel layout.
Paul King illustrates various DSLs written in Groovy, highlighting several logic solving APIs and looks at the pros and cons of the various approaches (including tool support, flexibility, lock-in).
Guillaume Laforge and Paul King show how to leverage Groovy to build a Mars rover controlling DSL, including metaprogramming techniques and integration mechanisms.