IronRuby Update (or what have you been doing since OSCON?)

The MIX keynote MacBook Pros

Subversion and TFS

Since OSCON, we’ve made some progress toward integrating Subversion and TFS. Our internal version control system for our team will continue to be TFS, but we need to synchronize edits that we make to our tree and edits made by external folks to the Rubyforge subversion tree.

I’m building a new Rakefile that implements commands that internal and external developers will need to do their jobs. It knows how to synchronize files between the two directory layouts. It knows how to build binaries on both layouts. It knows how to run the unit tests.

The missing pieces of the puzzle is the code to push edits out to the Subversion tree (and deal with potential conflicts), as well as code to push edits to our TFS tree. We’ll have this in place by the end of the month.

Language features

We’re progressing nicely with some additional language features. Tomas has checked in a new implementation of parallel assignment that we believe should account for all the cases that we know of (and there are a LOT of cases!). He also finished off most of the corner cases for control flow.

John Messerly (a dev who’s on loan to our team) has checked in a complete implementation of the Hash class, which currently passes all of the Hash spec in the rubinius spec tree. He also finished an implementation of Enumerable.

Update: John’s also checked in a slow implementation of instance variables (all variable lookups via dictionaries). We know that there are lots of optimizations that are possible in this space, but we want to make sure that we are correct first.

We’re trying to nail down the story for library implementers by the time we release the code on Rubyforge. We should have complete or nearly complete implementations of Array, String, and Hash by then. Those should give potential library contributors a better feel for how to code the libraries, and how to author tests for those libraries.

Twitter Digg Delicious Stumbleupon Technorati Facebook Email

10 Responses to “IronRuby Update (or what have you been doing since OSCON?)”

  1. Great news, John.
    Is it possible for some of us early adopters to get the updated files for parallel assignment, Hash and Enumerable? And also any updated documentation too?
    Thanks

  2. Great to hear!
    Like Josh, I’d be interested in a beta access.

  3. @Josh:
    There’s a number of things that are currently broken in this set of bits. Hang in there – we’ll have the sources out there in at most a couple of weeks!

  4. Hey, don’t forget preliminary instance variable support :)

  5. @ John
    “….We’re progressing nicely with some additional language features.”
    Hi, Can you be more specific on this. A Short explanation will also be enough.
    Thanks

  6. Hi John -
    You’ve piqued my interest with the SVN > TFS rakefile. I am wondering if that’s something you’ll make public and/or reusable? I have a local SVN repository that I’d love to be able to export edits to a client’s TFS server without having to abandon my local repository and love for TortoiseSVN.

  7. @IronRuby:
    The features are exactly what I described in the blog post: instance variables, control flow (break, continue, next, retry etc), and parallel assignment (which is unbelievably complex).
    @Brian:
    This will absolutely be public. As for whether it will be reusable, that’s for you to decide :) Right now I have stuff working in the TFS->SVN direction. It correctly handles adds, edits and deletes, but we want to push on it for a while to make sure that it does do the job.
    Next up on my list is getting things to work in the opposite direction (SVN->TFS) which I believe is what you want :)

  8. re: SVN -> TFS
    Awesome! After that, I’ll just be waiting for the full Rails implementation in IronRuby. I’m sure you never get THAT request! :)

  9. How about xaml support? Do you think we will able to use XAML in Ruby someway in the beta? WPF controls are working ‘almost’ fine. Can’t wait…

  10. Hello John,
    I am a ruby developer, eager to know much about IronRuby.
    My question is simple…Can i take full advantage with IronRuby on asp.net as one can take today with Vb.Net and C#.
    Will there be any limitations to work with IronRuby when compared to C# and VB.Net
    I am asking this for the future once IronRuby is established in full manner.My goal is to shfit my all projects to IronRuby, if there is no compromise in future.
    Thanks