Status of Ruby.NET compiler

(Josh Charles) #1

This may be posting to the wrong list, but someone here might know.
Does anyone know the status of the Ruby.NET compiler that is part of
the Google's 'summer of code' project? I've been looking at different
possible Ruby VM's, including this one, YARV, and Rite, but being able
to target a ECMA compliant Common Language Runtime would be very
advantageousl

Josh

(Florian Gross) #2

Josh Charles wrote:

This may be posting to the wrong list, but someone here might know. Does anyone know the status of the Ruby.NET compiler that is part of
the Google's 'summer of code' project? I've been looking at different
possible Ruby VM's, including this one, YARV, and Rite, but being able
to target a ECMA compliant Common Language Runtime would be very
advantageousl

I'm the run-time guy for that project and have been working primarily at JScript.NET so far.

The Ruby.NET project was going somewhat slowly for quite some time, but it's still looking promising -- I think we will not be able to have much done at the end of the dead line, but from what I have heard continuing the project past the end of the SoC is an option and it certainly is one I would like to be used.

Currently the parser seems to be done and able to build up a node tree -- the code for this is already in Mono's SVN repository. The code generator is probably next.

Oh, and it appears that continuations are something that we might be able to do without stopping to use .NET calling conventions which is pretty interesting.

If you have any further questions, would like to get involved or just interested in the project feel free to join us via IRC on #ruby.net at irc.gimp.org.

(gabriele renzi) #3

Florian GroƟ ha scritto:

Oh, and it appears that continuations are something that we might be able to do without stopping to use .NET calling conventions which is pretty interesting.

how would you do that?
AFAIK none is supporting "real" continuations in .net, even the various Scheme implementations for it just use escaping cont (i.e. exceptions)

Looking forward for some implementation papers :smiley:

(Florian Gross) #4

gabriele renzi wrote:

Oh, and it appears that continuations are something that we might be able to do without stopping to use .NET calling conventions which is pretty interesting.

how would you do that?
AFAIK none is supporting "real" continuations in .net, even the various Scheme implementations for it just use escaping cont (i.e. exceptions)

Looking forward for some implementation papers :smiley:

It's vague and not going into much detail, but http://flgr.dyndns.org/callcc-cil.rb shows a transformation that can already do more than escaping continuations.

Note that we might still not be able to do it in all cases. I think it might be possible to make it work with non-local .calls, though, but I guess it's best to wait until we can implement it to see what is possible and what isn't.