FAQ

How is this different from platforms such as the JVM, CLR & LLVM?

The JVM , CLR & LLVM represent code at a very low level. It's fine if all
we want to do is run the code but not if we want to maintain high level
abstractions at the level of the source language (or higher).

This will never work for all languages! What about prolog? What about language XYZ?

Almost certainly true! However, a more interesting question is will it work
for enough languages to be useful, even if the idea works only for a subset
of imperative languages that might still be useful (most people code in
imperative languages not prolog!)

Why not use lisp S expressions?

Although S expressions are very powerful I'm not sure that they are right
for this. Ideally I'd like to include more information about the code and
what the "intent" is. I could be wrong here though.

Why would anyone want to program in XML?

A programming language with XML syntax could be the worst language ever to
manually write code in, however the point of using XML is as a pivot format
and to have a standard way to operate on chunks of code. The intent that
programmers will only see code in one of the supported languages never the
XML encoding (other than for debugging purposes that is).

The language will not be the problem - it's the differences between the standard libraries that will give you grief.

In many ways I think this could be one of the most challenging aspects of
the project. There is a large overlap between the standard libraries of
many imperative languages but they all have their own approach and find a
way to map between them or abstract away the differences sounds like an
interesting problem to work on.