DSLs in Java
My presentation on DSLs in Java
- Presentation in PDF (3.7 MB) – no notes
- Presentation in PPT (11 MB sorry!)
- Presentation example source in ZIP (17 KB)
- Eclipse workspace with source and all jars (2.2 MB)
Interesting DSL links
- Guillaume Laforge on DSLs in Groovy (added 4/23/2007)
- Neal Ford on DSLs at CodeMash (added 1/18/2007)
- Embedding DSLs in Java with JRuby (added 1/11/07)
- Evolving Embedded Domain Specific Languages in Java (added 1/05/07)
- Martin Fowler’s intro to DSL video (added 10/31/06)
- InfoQ’s DSL article collection (added 10/31/06)
- Fluent Interfaces – Martin Fowler
- DSL Boundary – Martin Fowler
- Internal DSL – Martin Fowler
- Annotated DSL bibliography
- Ben Galbraith on DSLs (Nov 2005)
- Guillaume Laforge on how named parameters could help Java (Aug 2006)
- Steve Yegge on Scheme, Lisp and several thousand other topics
- InfoQ summary of recent DSL discussions (Sept 2006)
- Nutrun on Rails not being a DSL (July 2006)
- Mike Loukides on DSLs and Ruby (Aug 2006)
- Presentation on DSLs in Ocaml
- Notes on DSLs from class at Portland State University
- Making Spring configs more readable (DSLish) with XBean (Oct 2005)
- Bruce Tate on DSLs in ActiveRecord and Java (Apr 2006)
- Creating DSLs with Ruby – Jim Freeze (March 2006)
- Embedded DSLs in Ruby – Jay Fields (May 2006)
- DSLs in Ruby – Jeremy Voorhis (May 2006)
- Forum on how and when to create a DSL
- A whole blog on nothing but DSLs
- Overview of DSLs
- What is a DSL – Jim Freeze (Dec 2005)
- Writing DSLs in Ruby – Jamis Buck (Apr 2006)
- DSLs – Wikipedia
- Language Workbenches – Martin Fowler (June 2005)
- Implementing DSLs
- Conclusions on DSLs
DSL examples in the wild
- abc – a musical notation language
- Conway notation for polyhedra
- Bridge notation
- Backgammon notation
- Chess notation
- High level notation for games in general
- A DSL/system for writing interactive fiction like Zork!
- Wikipedia on “Notation” – many DSLs


Hi! My name is Alex Miller and I live in St. Louis. I write code for a living and currently work for