I want to create a typed implementation of the relational algebra using the D programming language’s template meta-programming and compile-time evaluation. Please keep in mind that I’m new to D, so I may be misusing (or abusing) its capabilities. I’ll be using D version 2, which is not compatible with version 1 of the language. You won’t need to know any D to follow along, but you will need to understand C++ templates.