Today we are making available the first public drop of
our IronRuby implementation. You can learn more about how to download the
source, build it, and try it out from John Lam's blog post here.
Today's IronRuby drop is still a very early version, and
several language features and most libraries aren't implemented yet (that is
why we are calling it a "pre-alpha" release). It does, though,
have much of the core language support implemented, and can also now use
standard .NET types and APIs.
IronRuby has been architected to take advantage of
a new DLR feature we call "Dynamic Sites" - which delivers a
fast adaptive call-site method caching implementation. It also uses the
lightweight-code generation features of the CLR. Lightweight code
generation enables dynamic language implementations to create in-memory IL that
is then JIT'd into native code at runtime (without ever having to save anything
to disk). This can yield much better runtime performance than interpreted
code, and the lightweight codegen feature ensures that once we are finished with
the JIT'd code we can optionally garbage collect it to avoid leaking.
We are releasing today's drop mainly for developers
interested in language implementations to start looking at the IronRuby source
code, and learn how it was implemented. Developers interested in playing
with an early version of Ruby for .NET can also download it and give it a spin.