Why Roslyn is a Big Deal
joshvarty.wordpress.com
joshvarty.wordpress.com
From comment on Eric Lippert's blog:
* So, is this like LLVM for the CTS/CLR?
Absolutely not. Low-Level Virtual Machine (LLVM) is a tool that takes code in an intermediate form from the semantic analysis of a compiler, optimizes that intermediate form, and then emits optimized machine code. Roslyn takes in C# and VB source code and produces a lexical, syntactic and semantic analysis of it for you, and then emits the code in an intermediate form. The thing in .NET that most closely resembles LLVM is the jitter.
http://blogs.msdn.com/b/ericlippert/archive/2011/10/19/the-r...
Update - A more full response here: http://blogs.msdn.com/b/ericlippert/archive/2011/11/18/why-i...
As far as I know, there is nothing like Roslyn in Java.
However, some parts of this (introspection and modification of ASTs) are already possible in other languages, such as Scala (through the presentation compiler and the macro system) or even Smalltalk (which doesn't have code in text files).