Shortly before Alessandra was born, I started work on a C++ language extension that makes metaprogramming another first-class programming paradigm in C++.
The extension learns from experience in designing a programming language of my own (called Xroma). Xroma is a very orthogonal and relatively simple language that gives compile-time access to a structured representation of the program (in a reflective way). However, I had long ago concluded that C++ is “too heavy” for such an approach (although some have tried).
However, as I was reconsidering the problem, I found a relatively simple and implementable alternative. It got me excited enough that I decided to implement it in our (the Edison Design Group's) front end. In just two evenings I had an elegant implementation of some very basic building blocks: Things you cannot do using template metaprogramming (but nothing earth-shattering yet).Meanwhile, I had committed to present something along these lines at the ACCU Spring Conference. It turns out they need some sort of document about it by March 1st. As a result, I've been writing down the core ideas of my new Metacode extension.
Now, all there is to do is to implement the harder parts...
Karina delivered the cutest baby girl last week. It's been a wonderful, but hectic time. I'm far far behind in responding to e-mail—my apologies to those who are expecting answers.