Finally, a new “Expressive C++” article. I’m pretty excited because I’ve covered enough of Proto’s basics to get to talk about the good stuff: how to manipulate expressions using grammars and transforms. This is potent stuff. In this article, I show how to use Proto to completely eliminate the abstraction overhead in a simple linear algebra library. Without giving up the accepted domain syntax. And without a pile of nasty template spaghetti code. Enjoy.