Hidden in C++ lurks another language—countless other languages, in fact—all of which are better than C++ at solving some types of problems. These domain-specific languages, be they languages for linear algebra, relational query or what-have-you, may only do one thing, but they do it well. We can create and use these other languages directly within C++ itself, using the power and flexibility of C++ to cut away the general-purpose parts of C++ we don’t want and replacing them with the domain-specific parts we do. In this series of articles, we’ll be taking a close look at domain-specific languages, what they’re good for, and how they can be easily implemented in C++ (with emphasis on easily) with the help of Boost.Proto. Continue Reading ▶
- Expressive C++: Introduction
