Linked by Peter Gerdes on Mon 10th Jan 2005 17:35 UTC
Editorial As a recent ACM Queue article observes the evolution of computer language is toward later and later binding and evaluation. So while one might quibble about the virtues of Java or the CLI (also known as microsoft.net) it seems inevitable that more and more software will be written for or at least compiled to virtual machines. While this trend has many virtues, not the least of which is compatibility, current implementations have several drawbacks. However, by cleverly incorporating these features into the OS, or at least including support for them, we can overcome these limitations and in some cases even turn them into strengths.
Permalink for comment
To read all comments associated with this story, please click here.
You seriously need to check out LLVM
by Chris Lattner on Mon 10th Jan 2005 18:09 UTC

LLVM (http://llvm.org) provides many of the capabilities that you want without the drawbacks you describe. In particular, it gives you portability and performance and the ability to adapt to changing hardware. Its compile time costs are very low: it provides a CFG, SSA form, and many other things directly in the representation. It also allows for compile-time, link-time, install-time, run-time and off-line ("optimizing screensaver") optimization.

If you're interested in this, check out these papers:
http://llvm.org/pubs/2004-01-30-CGO-LLVM.html
http://llvm.org/pubs/2003-10-01-LLVA.html

-Chris