About this Book

This book is meant for intermediate to advanced .NET developers who are interested in using domain-specific languages in their applications.

If you are new to language-oriented programming, this book will teach you how to create, build, and maintain your own languages.

If you are experienced with language-oriented programming, this book will give you all the practical knowledge necessary to easily build DSLs using the Boo programming language.

Note, however, that this book is focused on the practical side of building DSLs. While I talk about the theory underlying this field, I focus on practical aspects. If you are interested in learning more about DSLs, I also recommend reading Martin Fowler’s forthcoming book on the topic: http://www.martinfowler.com/bliki/DomainSpecificLanguage.html. The book isn’t finished yet, but much of the content can already be found on his site.


This book has five main sections.

Chapters 12 discuss DSLs in general, introduce the Boo language, and explain why I chose to use it as the basis for my DSL adventures.

Chapters 35 walk through the implementation of several different DSLs, their integration into applications, and all the various concerns you’ll have to deal with when you add a DSL to your project.

Chapters 67 dive into advanced language manipulation and the infrastructure required to build an industry-strength DSL.

Code conventions and downloads

Author Online