Book description
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.
About the Technology
About the Book
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 Reader
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.
Quotes
"Covers a lot of ground...not only widely but deeply."
- Jonas Bonér, Scalable Solutions
"Thorough, well thought-out, carefully crafted."
- Guillaume Laforge, SpringSource
"Covers the what, why, when, and how of DSLs."
- David Dossot, Programmer & Author
"Exhaustive, competent, and compelling."
- Frederico Tomassetti, Politecnico do Torino
"Five languages, no trivial examples, all in one book."
- John S. Griffin, Overstock.com
Table of contents
- Copyright
- Dedication
- Brief Table of Contents
- Table of Contents
- Foreword
- Preface
- Acknowledgments
- About the Book
- Part 1. Introducing domain-specific languages
- Chapter 1. Learning to speak the language of the domain
- Chapter 2. The DSL in the wild
- Chapter 3. DSL-driven application development
- Part 2. Implementing DSLs
- Chapter 4. Internal DSL implementation patterns
- Chapter 5. Internal DSL design in Ruby, Groovy, and Clojure
- Chapter 6. Internal DSL design in Scala
- Chapter 7. External DSL implementation artifacts
- Chapter 8. Designing external DSLs using Scala parser combinators
- Part 3. Future trends in DSL development
- Chapter 9. DSL design: looking forward
- Appendix A. Role of abstractions in domain modeling
- Appendix B. Metaprogramming and DSL design
- Appendix C. A cheat sheet for Ruby’s DSL-friendly features
- Appendix D. A cheat sheet for Scala’s DSL-friendly features
- Appendix E. A cheat sheet for Groovy’s DSL-friendly features
- Appendix F. A cheat sheet for Clojure’s DSL-friendly features
- Appendix G. Polyglot development
- Index
- List of Figures
- List of Tables
- List of Listings
Product information
- Title: DSLs in Action
- Author(s):
- Release date: November 2010
- Publisher(s): Manning Publications
- ISBN: 9781935182450
You might also like
book
Groovy in Action, Second Edition
Groovy in Action, Second Edition is a thoroughly revised, comprehensive guide to Groovy programming. It introduces …
book
Istio in Action
Solve difficult service-to-service communication challenges around security, observability, routing, and resilience with an Istio-based service mesh. …
book
Real-World Next.js
Learn how to use Next.js for building web apps without compromising performance, user experience, and developer …
book
Microservices in Action
Microservices in Action is a practical book about building and deploying microservice-based applications. Written for developers …