What I think would be cool is to have the preprocessor be a D object, then import c actually be able to run on strings; what I call mixinc: http://dpldocs.info/experimental-docs/mixinc.html Your specialized preprocessor idea has some overlap.