
- 376 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
DSLs in Action
About this book
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. Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from 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
Frequently asked questions
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Information
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