Microsoft does Ruby too! Ruby.Net


Gardens Point Ruby.NET Compiler


 


http://plas.fit.qut.edu.au/Ruby.NET


 


 


Announcing Ruby.NET Preliminary Beta Release!


 


We are pleased to announce the preliminary Beta release of the Gardens Point Ruby.NET compiler.  This is not just a Ruby/.NET bridge, nor a Ruby Interpreter implemented on .NET, but a true .NET compiler.  The compiler can be used to statically compile a Ruby source file into a verifiable .NET v2.0 assembly or it can be used to directly execute a Ruby source file (compile, load and execute).  Our implementation is not yet fully complete, but it is the only Ruby compiler that we know of for either the .NET or JVM platforms that is able to pass all 871 tests in the samples/test.rb installation test suite of Ruby 1.8.2.


 


Our goal is to create a compiler for the Ruby language that targets the .NET CLR.  We aim to support 100% of Ruby language semantics, including all dynamic constructs such as closures and continuations.  We plan to generate 100% managed and verifiable CIL code.


 


We are seeking keen Ruby and .NET programmers to assist with further testing and development.   Complete source code of our system can be downloaded from: http://plas.fit.qut.edu.au/Ruby.NET/Download.aspx


 


Release Schedule


 


Our first Beta version was released in June 2006.  This release concentrated on achieving correct Ruby semantics and did not attempt to address performance or .NET interoperability issues.  Subsequent Beta versions will be released progressively, with a version achieving full semantic compatibility expected by the end of 2006.


 


Once we have achieved that we will focus on performance optimizations for commonly occurring special cases and better support for interoperability with other .NET programs.


 


We wish to thank Microsoft Research and the Microsoft Common Language Runtime team for their technical and financial support of this project.


Comments (1)

  1. anytime says:

    Looking forward to more on this topic.

Skip to main content