DSLs in Action


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 and definitions a developer needs to build high-quality domain specific languages. It provides a solid foundation to the usage as well as implementation aspects of a DSL, focusing on the necessity of applications speaking the language of the domain. After reading this book, a programmer will be able to design APIs that make better domain models. For experienced developers, the book addresses the intricacies of domain language design without the pain of writing parsers by hand.

The book discusses DSL usage and implementations in the real world based on a suite of JVM languages like Java, Ruby, Scala, and Groovy. It contains code snippets that implement real world DSL designs and discusses the pros and cons of each implementation.

What’s Inside

  • Tested, real-world examples
  • How to find the right level of abstraction
  • Using language features to build internal DSLs
  • Designing parser/combinator-based little languages

About the Author
Debasish Ghosh, Chief Technology Evangelist at Anshinsoft, is passionate about programming languages and cooperative polyglotism. He has developed systems using multiple JVM languages and has designed DSLs using Java, Ruby, and Scala. Debasish is a senior member of the ACM and an active blogger on programming techniques and languages.

Book Details

  • Paperback: 375 pages
  • Publisher: Manning Publications (December, 2010)
  • Language: English
  • ISBN-10: 1935182455
  • ISBN-13: 978-1935182450
Download [16.6 MiB]

You may also like...

No Responses

  1. pedro says:

    kudos

  2. lala says:

    page 78(103) is corrupted.

Leave a Reply