These are books, pages and papers I’ve come across while studying Domain-Specific Languages. I’m slowly adding things here.

Software Design & Architecture


Abelson, Harold / Sussman, Gerald Jay - Structure and Interpretation of Computer Programs - 2nd Edition



Freely Available Online
Amazon Link


Alan Kay - the Early Story of Smalltalk


Alan Kay on the motivations behind Smalltalk.
Freely Available Online


Fowler, Martin - Fluent Interface


Fowler describes an useful technique for chaining methods in order to get more readability. Especially useful for Internal DSLs at static languages such as Java.
Freely Available Online


Fowler, Martin - Humane Interface


Fowler makes a contrast between the kind of interfaces provided by languages like Java and those provided by languages like Ruby. In Java-like you’ll find a small set of construct that you can use to perform all desired operations, in Ruby-like you’ll find constructs that are more developer-friendly.
Freely Available Online

Evans, Eric - Domain-Driven Design

Eric Evans describe a technique to apply Model-Driven Design in object Oriented software by eliminating the gaps between actual software artifacts and the domain. Seminal book on OOP.
Amazon Link

Page-Jones, Meilir - Fundamentals of Object-Oriented Design in UML

Seminal book on object-orientation principles and the very definition of the layered ‘domains’ in a software.
Amazon Link

Raymond, Eric - The Art of Unix Programming

Eric Raymond describes the philosophy of how UNIX programs are develop. A whole chapter is dedicated to minilanguages like awk, sed and Sendmail and how to build them.
Freely Available Online


P. Klint/P. Olivier - The ToolBus coordination architecture -a demonstration



Freely Available Online


Fowler, Martin - Patterns of Enterprise Application Architecture


Fowler’s classic catalog of architectural patterns. Also contains very interesting texts on architecture concepts.
Amazon Link


XLR: Extensible Language and Runtime - The art of turning ideas into code

Very interesting ree software project. The document on its concepts has very nice definitions for semantic and syntactic noise
freely available online

DSLs & LOP

Fowler, Martin - Language Workbenches: The Killer-App for Domain Specific Languages?

Fowler works the concepts behind LOP by using examples. Great text.
Freely Available Online

Ford, Neal - Language Oriented Programming

neal Ford’s keynote presentation on history of computer programming languages and LOP.
Freely Available Online

M. P. Ward - Language Oriented Programming

Very interesting paper on LOP development compared to bottom-up and top-down approaches. Ward uses both DSLs and LOP as somewhat synonyms but his definition of LOP doesn’t imply in tying a language to a specific domain but to a problem being solved.
Freely Available Online

Spinellis, Diomidis - Notable Design Patterns for Domain-Specific Languages

Nice compilation of generic design patterns for DSL implementation.
Freely Available Online

M. Mernik, J. Heering, A.M. Sloane - When and how to develop domain-specific languages

Follow up on Spinellis’ work, catalogs and gives a brief description of patterns that could be used in different stages of LOP development.
Freely Available Online

Arie van Deursen/Paul Klint/Joost Visser - Domain-Specific Languages: An Annotated Bibliography

Very useful condensation of concepts with pointers to were they are better explained.
Freely Available Online

Arie van Deursen/Paul Klint - Little Languages: Little Maintenance?

Nice paper on DSL analysis and design with real cases from the financial market.
Freely Available Online

Markus Völter - InfoQ - Architecture as Language: A story

Markus describes his language to model component-based software architectures. Although I think UML has enough concepts from this domain is a nice and easy text.
Freely Available Online

Rick Kilmer - InfoQ - Ruby and the Art of Domain Specific Languages

Besides some examples o Internal DSLs in Ruby this talk tries to divide Internal DSLs into two kinds: implicit and explicit.
Freely Available Online


Lloyd H. Nakatani, Mark A. Ardis,
Robert G. Olsen and Paul M. Pontrellidomains - Jargons for Domain Engineering

The benefits of Jargons instead of plain DSLs in domain engineering. Most interesting parts are the initial statement on the difficulty to create a DSL without language design knowledge and the final “Avoiding DSL Pitfalls” section.
Available in the ACM Library


Paul Hudak - Building Domain-Specific Embedded Languages

Nice introduction on why DSLs are better at modeling than GPLs. Discuss the creation of languages inside languages, what is called Domain-Specific Embedded Language, using Haskell.
Freely Available Online


Tim Menzies - Notes on Domain-Specific Languages

Very interesting short explanation of DSLs, including comparrisson to 1984’s Newspeak (and indirectly to Sapir-Whorf hypothesis).
Freely Available Online


Steve Cook, Gareth Jones, Stuart Kent, Alan Cameron Wills - Domain-Specific Development with Visual Studio DSL Tools

Book on Microsoft DSL Tools platform.
Amazon Link


Arturo Sánchez-Ruíz, Motoshi Saeki, Benoit Langlois and Roberto Paiano - Domain-Specific Software Development Terminology: Do We All Speak the Same Language?

Very interesting paper that defines a set of concepts from Domain Modeling/Domain-Specific Languages.
Freely Available Online


Benoit Langlois, Consuela-Elena Jitia and Eric Jouenne - DSL Classification

A catalog of DSL tooling characteristics and comparison between the currently available (2007) tools.
Freely Available Online

TOREAD - Sean McDirmid - Turing Completeness Considered Harmful: Component Programming with a Simple Language


Freely Available Online

TOREAD - Jacques Meekel/Thomas B. Hortont/Robert B. Francet/CharlieMellone L Sajid Dalvi - From Domain Models to Architecture Frameworks


Freely Available Online

TOREAD - Dimitrios S. Kolovos/Richard F. Paige/Tim Kelly/Fiona A.C. Polack - Requirements for Domain-Specific Languages


Freely Available Online

TOREAD - Bruce/David - What makes a good domain-specific language? (pages 17-35)


Freely Available Online

TOREAD - Gray, Jeff/Karsai, Gábor - An Examination of DSLs for Concisely Representing Model Traversals and Transformations


Freely Available Online

TOREAD - Yoder,Alan/Cohn, David - Domain-specific and general-purpose aspects of spreadsheet languages


Freely Available Online

TOREAD - Lloyd Nakatani/Mark Jones - Jargons and infocentrism


Freely Available Online

TOREAD - Markus Fromherz/Vineet Gupta/Vijay Saraswat - cc - A generic framework for domain-specific languages


Freely Available Online

TOREAD - V. R. Basili, L. C. Briand, W. M. Thomas - Domain Analysis for the Reuse of Software Development Experiences


Freely Available Online

TOREAD - Eric Van Wyk - Modular Domain-Specific Language Extensions


Freely Available Online

TOREAD - Gilles Dubochet - On Embedding Domain-specific Languages with User-friendly Syntax


Freely Available Online

TOREAD - Nitin Arora/Rupert Westenthaler/Wernher Behrendt/Aldo Gangemi - Information Object Design Pattern for Modeling Domain Specific Knowledge


Freely Available Online

TOREAD - Diomidis Spinellis - Reliable software implementation using domain-specific languages


Freely Available Online

TOREAD - Daan Leijen/Erik Meijer -Domain Specific Embedded Compilerss


Freely Available Online

TOREAD - Conal Elliott/Sigbjorn Finne/Oege de Moor - Compiling Embedded Languages


Freely Available Online

TOREAD - Paul Hudack - Building Domain Specific Languages


Freely Available Online