On Thu, Apr 2, 2009 at 10:55 AM, Michael Neumann <mneumann / ntecs.de> wrote:

> M. Edward (Ed) Borasky wrote:
>
> > On Wed, Apr 1, 2009 at 6:00 AM, Charles Oliver Nutter
> > <charles.nutter / sun.com> wrote:
> >> Well, according to the earliest drafts of the Ruby standard,
> >> continuations are not part of "core Ruby" :)
> >>
> >> But yes, this is one area we've opted not to be compatible in exchange
> >> for performance. We could implement continuations, but we'd be several
> >> times slower as a result.
> >
> > IIRC YARV also dropped continuations because they would be slow on the
> > YARV VM as well.
>
> Which YARV do you mean? The one integrated into Ruby 1.9? :)
> So I know for sure that Ruby 1.9 still has continuations, that they rule
> the
> world when compared against Ruby 1.8 continuations (which had memory
> leaks),
> and that Ruby 1.9 it is based on Koichi's YARV. ;-)


IIRC (sometimes hard to do at my age) continuations were gone from Ruby 1.9
for a while back in 1997, but came back before the Ruby 1.9.0 release around
Christmas 2007.

As for implementation, I think that the spaghetti stack design which Evan
Phoenix is/was? using in Rubinius, (which is similar to what the Squeak
Smalltalk VM uses) helps a lot.  On the other hand, Seaside, which drove a
lot of interest in continuations in the Smaltalk community, feeding back to
Rubyists who wanted to emulate Seaside, has rather drastically reduced, but
not eliminated, the use of continuations.

-- 
Rick DeNatale

Blog: http://talklikeaduck.denhaven2.com/
Twitter: http://twitter.com/RickDeNatale
WWR: http://www.workingwithrails.com/person/9021-rick-denatale
LinkedIn: http://www.linkedin.com/in/rickdenatale