IronRuby and Ruby.Net
Today, there are two different Ruby implementations on the CLR: IronRuby and QUT's Ruby.Net.
We licensed the Ruby.net codebase earlier this year, and we are using the scanner and parser from Ruby.net in IronRuby today. This helped us bootstrap our efforts, and we know that we have acquired a good scanner and parser that is already highly compliant with MRI:
"In addition to passing all 871 tests in the samples/test.rb installation test suite of Ruby 1.8.2, we are now able to support the standard Ruby test unit library and pass most of the 1864 assertions in the test/ruby test directory."
IronRuby is effectively a continuation of the excellent work that Wayne Kelly, his students, and John Gough have been doing with Ruby .Net. Of course, IronRuby also builds on top of the excellent type system, hosting interfaces, and runtime library work in the Dynamic Language Runtime.
Update:In the comments, Charlie Nutter pointed out that the conformance numbers really only apply if we're using the Ruby.net runtime components. Strictly speaking, that's true. But the real issue here is that we do have a highly conformant codebase that we can look at to help guide us in our DLR-based implementation. I hope this helps to clarify things.

What about the rest of Ruby.NET? Parsing is hard, but it's not the hardest part of getting Ruby running. The quote you posted was about Ruby.NET actually running code. I think those numbers aren't really applicable if you're not using the Ruby.NET runtime and core classes too. Perhaps I'm wrong?
Posted by: Charles Oliver Nutter | June 04, 2007 at 07:03 PM
Hey John!
Please, can you comment about http://ola-bini.blogspot.com/2007/06/there-can-be-only-one-tale-about-ruby.html ?
Esoecially on following sentence:
"I am going to make a bold statement here. Under the current circumstances, I don't believe it's possible for John Lam and his team to create a Ruby implementation that runs Rails within at least 18 months. And frankly, that's not soon enough."
thank you,
Michael.
Posted by: Michael | June 04, 2007 at 11:58 PM
Many thanks, John.
Your post is very helpful and clarified the relationship between Ruby.NET and IronRuby.
Posted by: arton | June 05, 2007 at 05:36 AM
@Charles: answered via an update on the post
@Michael: I hope it won't take that long, but I'm pretty lousy at predicting the future :)
Posted by: John Lam | June 05, 2007 at 07:07 AM
Can you clarify what the relationship of IronRuby and Ruby.NET is moving forward?
Looking at the two source bases, it's obvious the different approach taken at the runtime level. Are you guys actively integrating their ideas and approach?
I guess the meta question: is the DLR being built in a vacuum, or with active community engagement?
Posted by: James | June 05, 2007 at 09:37 PM
@James:
We're using the scanner / parser from IronRuby right now, but we're in the process of refactoring some of that code to take advantage of some investments that we've made in building high performance tokenizers.
We are wildly divergent when you look at what's happening in the runtime layer. The deferred compilation model of the DLR is fundamentally different from their runtime model, so there's not much being done there.
As for the community engagement question - we're actively working on figuring something out. We'll have more to say on that before we ship code at OSCON on July 23.
Posted by: John Lam | June 06, 2007 at 12:29 PM
Hi,
Do I need to learn only Ruby OR ( Ruby + C# ) to take the addvantage of IronRuby.
Will Ruby developers work straight away with IronRuby, without any C# or VB.Net Knowledge.
Can you kindly blog Few PreRequisites, so that ruby dvelopers can get prepared to work with IronRuby hen released.
I am just confused, can any one guide me. Plus... where can i read regular progress on IronRuby.
Once i start working with IronRuby, will i get more advantage than RubyonRails or Less Advantages..?
Thanks
Posted by: SoftMind | June 15, 2007 at 07:30 AM
@SoftMind:
Knowing Ruby is important, of course, but knowing C# doesn't hurt since one of the major advantages of IronRuby is interop with the .NET Framework.
Regular progress reports on IronRuby will appear here. Once we go public with our source repository on July 23, you can track progress via check-ins.
Posted by: John Lam | June 15, 2007 at 08:26 AM
Hello John,
This few questions are most important for me for IronRuby.
(1) PreRequiremts for IronRuby
(2) will i be able to work with LINQ.
(3) Can I use Visual Web Developer as an IDE for IronRuby.
(4) Can i also take rails advantage with IronRuby
This questions really trouble me and perhaps others too.
Can yoiu come with quick answers
Posted by: WebReservoir | June 16, 2007 at 01:10 AM
@WebReservoir, I can take a stab at your questions.
1) I believe all you'll need is CLR 2.0 or Silverlight 1.1.
2) LINQ will be in Silverlight, so we should be able to call the LINQ bits, but I don't think anyone has talked about how the code would look. Perhaps this is an opportunity for someone to write a great Ruby library to take advantage of LINQ.
3) John has said that there will be Visual Studio support for IronRuby in the future, so I would assume that would include the future Express SKUs.
4) John has stated (correctly) that if IronRuby does not run Rails then IronRuby loses much credibility in the Ruby community. That said, I'm not sure if Microsoft will be supporting Rails or not. But I suspect that we will be able to use Rails with IronRuby similar to how we can use Rails with JRuby today.
You can hear my conversation with John about some of these subjects here:
http://rubiverse.com/podcasts/1-john-lam-on-ironruby
Posted by: Mike Moore | June 20, 2007 at 08:56 AM