No, there is currently no way how to implement continuations on CLR that could capture stack of arbitrary managed method frames. If all frames were under your control you could compile them in a special way that supports continuations. That’s IMO what Rx provides. In theory we could IL-rewrite IronRuby.Libararies into code that supports continuations and we could generate continuations aware IL for Ruby methods. But as soon as you have a call to an arbitrary .NET method that wasn’t compiled with continuations support in the middle of your stack trace it breaks.
Tomas From: ironruby-core-boun...@rubyforge.org [mailto:ironruby-core-boun...@rubyforge.org] On Behalf Of Ryan Riley Sent: Monday, January 11, 2010 12:36 PM To: ironruby-core@rubyforge.org Subject: Re: [Ironruby-core] Questions for IronRuby's RubyInside Article I'm not sure if this is too late or not, but regarding this question: Q: Closures, continuations, and tail-call optimizations are often discussed in terms of programming language VM's. Which of these attributes are implementable at present, which are expected to be implemented, and which are not possible by design? You might want to peek at the Reactive Extensions Observable.Create<http://social.msdn.microsoft.com/Forums/en/rx/thread/03f4730f-fe11-4ccf-a799-025fa6e73ac2> method. This method is supposed to represent call/cc on the CLR. Several of us are still trying to figure out exactly how, but with Rx running on .NET, Mono, and Silverlight, you should be covered. This is probably a 1.x feature, but I just wanted to throw it out there. Ryan Riley On Fri, Jan 8, 2010 at 6:58 PM, Jimmy Schementi <jimmy.scheme...@microsoft.com<mailto:jimmy.scheme...@microsoft.com>> wrote: All, RubyInside.com<http://rubyinside.com/> will be running a series of articles about all the various Ruby implementations, written by the implementers, and each article is accompanied with a Q&A-style section. IronRuby hasn’t really received any IronRuby-specific questions, so I’d like to ask all of you to propose questions (as a reply to this mail), which I will then answer in the article =P. These can be questions you know the answer to, but think would provide valuable information to the rest of the Ruby community, or questions you don’t know the answer too, which would provide valuable information to everyone =) For some context and/or inspiration, here’s the current IronRuby Q&A: http://docs.google.com/View?id=dcvr9mmg_108c67mcf2b. Feedback or questions on the answers are welcome. ~Jimmy _______________________________________________ Ironruby-core mailing list Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org> http://rubyforge.org/mailman/listinfo/ironruby-core
_______________________________________________ Ironruby-core mailing list Ironruby-core@rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core