Go to content

Building modern DSLs in Groovy by Cédric Champeau

Apache Groovy has been a language of great interest to build internal domain specific languages (DSLs) for years now. But what will an "idiomatic Groovy DSL" in 2016? In particular, what makes Apache Groovy a language of choice to implement a DSL on the JVM? If you were to write a DSL today, what would you use? Runtime metaprogramming? Builders? Static compilation? Type checking extensions? The advent of new Groovy based technologies like Gradle, Spock, Grails or Ratpack have initiated a whole new way of providing DSLs, making them very different from what you could do 10 years ago. In this talk, we will illustrate what we think is a modern DSL written in Groovy, syntactically speaking, but also implementation wise. How you can improve the syntax of your DSL, its performance, or user experience (IDE support, error reporting, ...).

November 9, 2015