Multi-level Language Marketing
I
mentioned
Greg Ewing's
Pyrex language for writing Python-like code that can be
easily transformed into the kind of C you need to write to extend
the Python interpreter.
Today,
the Lambda Weblog
also has a
Pyrex reference.
It brings up some interesting associations:
- Rice University's
Programming Language Technologies
group created one of the more popular scheme implementations,
PLT scheme, with its DrScheme IDE and a couple of scheme
variants. In particular, its use for teaching involves the presentation of
several closely related languages, which gradually increase in
complexity as you learn.
- SGI's Pro64 compiler was open sourced and then canceled,
but it did produce a nice description of a multi-level intermediate
language called
WHIRL (pdf link). (That's my copy that I downloaded a year or
more ago -- I couldn't easily find another copy on the Web.)
This describes five levels of intermediate representation (I.R.) --
the compiler starts with the source, and transforms (lowers) the
IR until it has something from which it is easy to generate good
code. Different optimizations can be done at each IR level.
- Jython -> Java -> JNI/C
- Python -> Pyrex -> C
Now, I think functional programming is pretty fun and I like Haskell,
but the performance of Haskell programs and compilers today ... sucks.
So I wonder if anyone is working on a multi-level approach to FP,
similar to what SGI's compiler did with WHIRL, or what Pyrex programmers do.
See
http://lambda.weblogs.com/discuss/msgReader$3187?mode=topic
11:17:17 AM