In the past couple of months I’ve been working on a Ruby interpreter for the .NET CLR, a project very similar to IronPython. Both Jim Hugunin’s impressive results, my interest for the .NET CLR and the popularity of Ruby were my main motivation to begin this journey.

While most of this will be a very incremental process, my minimal goals are to:

  • Implement the Ruby language, including support for all of its semantics
  • Support at least the CLS (Common Language Specification)
  • Implement both an (interactive) interpreter and a standalone compiler
  • Get a deep understanding of the CLR
  • Surpass Jim Hugunin’s results ;)

At this moment things are going pretty well. I’ve implemented some of the basics of the language and worked on the integration with the CLR. Current progress includes but is not limited to:

  • OO (modules, classes, inheritance, polymorphism, etc.)
  • Mixins
  • CLR integration (use .NET types, derive from them, override methods, etc.)
  • Dynamic methods (dynamically add or change a method implementation)
  • Ruby file includes

Simultaneously with working on the implementation, I am writing a paper for a college assignment. This paper will be about some of the features that .NET provides, what problems I came across, how I approached them, etc. I will publish this paper once it’s done and/or blog about topics that I discuss in this paper.

Unfortunately I can not work on this project full-time. However, I hope to be able to release some early bits in 1 or 2 months. At some point, source will be included as well. For now, you’ll have to do with some screenshots that show some of the current progress:

This sounds very interesting Wilco, look forward to hearing more!

Andrew
John Lam is working on this: http://www.iunknown.com/

And so are Queensland University of Technology: http://www.plas.fit.qut.edu.au/rubynet/

Good luck, though - I'm looking forward to any of these projects becoming usable!

Rik

John Lam's approach is quite different, although the main goal (integration with .NET) is probably the same. It'd be interesting to see how our approaches compare to each other once both of our projects have matured.

QUT's approach is similar to mine though. I look forward to seeing what they come up with.
You might want to have a look at BOO:

It's completely open source is a dynamic language.
Compiles to CLR, and has an interactive interpreter.

So they already figured it all out :)
URL:
http://boo.codehaus.org/
Your message will be encoded/formatted when it is displayed. If you want to post code, please put the code inside [code=X][/code] tags, where X is the language of your code (C#, ASPX, SQL, etc).
Name:
Email:
(will be encoded using JavaScript to keep it functional and prevent it from being picked up by spammers)
Url:
 
Message:
3 + 3 =