DSLs in Action

Debasish Ghosh
Foreword by Jonas Bonér

December 2010 | 376 pages | B&W
ISBN: 9781935182450

$44.99 pBook + eBook (includes PDF, ePub, and Kindle)
$35.99 eBook only (includes PDF, ePub, and Kindle)
Browse all our mobile format eBooks.


 Look Inside Resources Downloads


Your success—and sanity—are closer at hand when you work at a higher level of abstraction, allowing your attention to be on the business problem rather than the details of the programming platform. Domain Specific Languages—"little languages" implemented on top of conventional programming languages—give you a way to do this because they model the domain of your business problem.

DSLs in Action introduces the concepts you'll need to build high-quality domain-specific languages. It explores DSL implementation based on JVM languages like Java, Scala, Clojure, Ruby, and Groovy and contains fully explained code snippets that implement real-world DSL designs. For experienced developers, the book addresses the intricacies of DSL design without the pain of writing parsers by hand.


This book is written for developers working with JVM languages. Others will find techniques that (generally) work for them too.

About the Author

Debasish Ghosh is a senior member of the ACM and an influential blogger. He works with DSLs based on Java, Ruby, Clojure, and Scala.


“Five languages with no trivial examples all in one book, highly recommended.”
John Griffin

“DSLs in Action is a good book for anybody that is interested in DSLs especially so if you are developing on the JVM, even more so if you develop in Scala, and should provide you a good grounding in deciding the type of DSL to implement and the tools and/or skills to do so.”
Nathan Gloyn

“This book does an excellent job of showing how DSLs (internal and external) can be created at used in a real world scenario.”
Dror Helper, Software Engineer

“The book does a good job of walking you through examples of implementing DSLs in various languages and the approaches you might take. In daily development the likely DSLs to be implemented will be embedded DSLs, but the book does a good job of dealing with external DSLs and the complexity involved.”
Ed Gibbs