Extending C
acg: Perhaps the way that C++ started (CFront): write a front-end to the language that maps your additional language constructs to C.Another lesson from C++ (there are probably many) is to be careful with C compatibility, it's not always as easy as it seems.