I’m looking for a few good language extensions to C.
I want to demonstrate the practicality of composable language extensions, and to do that, I’m going to extend C with a bunch of neato stuff. But I haven’t yet determined just what neato stuff that will be.
I have a number of good ideas motivated by C libraries. For example:
- MPI. Parallelism is always good, and there should be quite a lot of lowish-hanging fruit for a language extension for MPI.
- Bison. Parsing is really well-addressed by DSLs, so this is an obvious choice.
- Lua. There’s a lot of regularity to the interface between these languages that could be very well addressed by a language extension. This isn’t extending C with Lua, but rather an extension to C that makes using the Lua C API dramatically easier.
- OpenCL. I haven’t fully investigated OpenCL yet, but I very much imagine this will be as amenable to a language extension as MPI is. And GPU programming is another obvious hot topic.
However, all of these involve potentially complicated design work. In the interest of
laziness time-efficiency (and as a bonus, to speak more directly to the research community,) I’d instead like to implement language extensions others have already pioneered, but implement them as composable language extensions. This way, the focus is on the advantages of this approach, and the particular extensions are already regarded as interesting. Of course, this leaves me adrift: there are a lot of papers that extend C. And I haven’t really paid attention to this area in the past, so I’m somewhat clueless as to which are actually regarded as good.
So, dear #lazyweb, what are your favorite papers that extend C?