Sun Dec 18 09:07:42 EST 2011

Typed CPP

Is it possible to build some kind of type system on top of CPP?  Limit
use to construct that have some structure?  I.e. build a system of CPP
tools that can be compiled by standard CPP but also compiled by a
preprocessor with a type system, i.e. something that would fit C
syntax so I can feed it into Language.C ?

This decoupling gets you:

  * Compatibility with standard CPP, meaning a source tree can be
    compiled without the static analyzer and its dependencies present
    on the system, which is *really* important.

  * Full freedom in tool dependency.  Since analysis is only necessary
    when you're actually *changing* the code, the static analyzer can
    have a whole host of dependencies and special purpose features.

Is this just C++'s template system?