Rick DeNatale wrote:

> 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.

Getting older (but still young enough to remember), in 1998 I was using Ruby 
version 1.2.4, far far away from anything near 1.9 :). Though, I can't say 
for sure what happend one year before in 1997 ;-)
 
> 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.

Yes, the spaghetti stack of Rubinius would have helped continuations a lot 
(at least theoretically), but AFAIK it's gone in favor of performance of the 
C stack. 

Funny that Seaside is reducing continuations while I am increasing or 
"stabilizing" continuation support in my Seaside-inspired framework Wee, due 
to the fact that continuations became pretty stable in Ruby 1.9.

Regards,

  Michael