Heiko Behrens shows how to create an iPhone domain specific language using model-driven software development.
Bernhard Merkle discusses the various types of DSLs, and compares different language workbenches by using them with the same custom DSL in order to outline the differences between them.
Peter Bell explains DSLs, how to approach writing one, and especially how to evolve one over time using "fixing the API", "backwards compatibility", "versioning" and "automated evolution/checking”.
Paul King and Guillaume Laforge present Groovy’s capabilities to build DSLs through several concrete examples meant to highlight the language’s good support for creating internal DSLs.
Venkat Subramaniam explains some of the Groovy syntax elements and its idioms by taking Java code examples and transforming them step by step into their more concise Groovy counterparts.
Guy Steele, Douglas Crockford, Josh Bloch, Alex Payne, Bruce Tate, and Ted Neward (moderator) hold a discussion on the future of programming. Topics included: the future beyond functional, running JVM/CLR on many cores, what is the future of type checking and type systems, languages for education, comparing DSLs and ubiquitous languages, proving code correctness, functional and parallelism.
Magnus Christerson demonstrates using a domain workbench to develop an electronics domain language - its key concepts, how they are defined, the semantic model – and a building access permit example showing the phases from concept to code.
Guillaume Laforge explains what makes Groovy to be better suited to create a DSL: closures, meta-programming, operator overloading, named arguments, a concise and expressive syntax, demonstrating how to write a DSL in Groovy.
Don Box and Amanda Laucher present “M”, a declarative language for building data models, domain models or external DSLs. Most of the presentation consists of Don Box doing hands-on code writing demoing some of M’s features and latest changes of the language.
In this talk recorded at FutureRuby, Collin Miller explains the problems of encoding programs as text and takes a look at promising solutions such as Intentional Programming.
What is better, a generic solution or a specific one? Stefan Tilkov’s answer is “It depends.” He compares XML vs HTML, DSM-UML, Internal-External DSL, SOAP-REST, and others, outlining the advantages and disadvantages of each solution, showing that there is no certain answer to an architect’s quest to solve his problem, but there are some guidelines helping along the way.
Ola Bini makes an introduction to DSLs explaining what they are and aren’t, what they are useful for, how to implement an internal/external DSL in Java and why are DSLs and Ruby so related.