February 27, 2003
The Metacode Extension

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...

Posted by Daveed at 07:08 PM
February 05, 2003

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.

Posted by Daveed at 04:29 PM