[#11890] Ruby and Solaris door library — "Hiro Asari" <asari.ruby@...>

Hi, there. This is my first patch against ruby. I think I followed

19 messages 2007/08/13
[#11892] Re: Ruby and Solaris door library — Daniel Berger <djberg96@...> 2007/08/14

Hiro Asari wrote:

[#11899] pack/unpack 64bit Integers — Hadmut Danisch <hadmut@...>

Hi,

13 messages 2007/08/14
[#11903] Re: pack/unpack 64bit Integers — Brian Candler <B.Candler@...> 2007/08/15

On Wed, Aug 15, 2007 at 06:50:01AM +0900, Hadmut Danisch wrote:

[#11948] Fibers in Ruby 1.9? — David Flanagan <david@...>

I just noticed that my ruby1.9 build of August 17th includes a Fiber

22 messages 2007/08/22
[#11949] Re: Fibers in Ruby 1.9? — Daniel Berger <djberg96@...> 2007/08/22

David Flanagan wrote:

[#11950] Re: Fibers in Ruby 1.9? — "Francis Cianfrocca" <garbagecat10@...> 2007/08/22

On 8/22/07, Daniel Berger <djberg96@gmail.com> wrote:

[#11952] Re: Fibers in Ruby 1.9? — MenTaLguY <mental@...> 2007/08/22

On Wed, 22 Aug 2007 20:50:12 +0900, "Francis Cianfrocca" <garbagecat10@gmail.com> wrote:

[#11988] String#length not working properly in Ruby 1.9 — "Vincent Isambart" <vincent.isambart@...>

I saw that Matz just merged his M17N implementation in the trunk.

17 messages 2007/08/25
[#11991] Re: String#length not working properly in Ruby 1.9 — "Michael Neumann" <mneumann@...> 2007/08/25

On Sat, 25 Aug 2007 10:54:20 +0200, Yukihiro Matsumoto

[#11992] Re: String#length not working properly in Ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/08/25

Hi,

[#12042] Encodings of string literals; explicit codepoint escapes? — David Flanagan <david@...>

This message contains queries that probably only Matz can answer:

16 messages 2007/08/31
[#12043] Re: Encodings of string literals; explicit codepoint escapes? — Yukihiro Matsumoto <matz@...> 2007/08/31

Hi,

Re: Fibers in Ruby 1.9?

From: Charles Oliver Nutter <charles.nutter@...>
Date: 2007-08-27 17:25:07 UTC
List: ruby-core #12013
SASADA Koichi wrote:
> I think Fiber class is not needed for most of people.  Because 1.9
> support Enumerator as outer iterater (I'm not sure about this
> nameing) such as Java's Iterator or Python's Generator or Ruby's
> 'generator' library and so on.
...
> Main purpose of Fiber is to realise outer iterator.  In fact,
> Enumerator#next using Fiber.  So I think ruby/test_enumerator.rb is
> more important test than implement Fiber's methods.

Yes, we don't have the enumerator work started yet in JRuby, but I don't 
expect it to be too difficult. Primarily I'm interested in implementing 
the coroutine features of Fiber, and that much is mostly complete now in 
my implementation.

> Easy instruction:
> =================
> 
> Fiber#resume
>   Resume Fiber's context.
> 
> Fiber.yield(...)
>   return values to resuming context.

yield and resume aren't hard to do, so I have those working in JRuby now.

> Fiber.current
>   return current fiber.

current only works from within an explicitly-constructed Fiber; i.e. you 
  can't get a fiber out of an arbitrary thread. It wouldn't be hard to 
fix, though.

> Fiber#alive?
>   return if this fiber is alive or not.

Works ok.

> Fiber#transfer
>   tranfer fiber context.  This method break resume/yield
> (parent/child) relation, so we shouldn't use it (this method is
> similar to callcc).

As we discussed on line, since this is a continuation-style feature, 
JRuby would not be able to support if. If you moved this to unsafe/fiber 
as you mentioned on line it would provide a good division. JRuby could 
support the "safe" fiber behavior.

Thanks for the help...I'll let you know if I have more questions.

- Charlie

In This Thread

Prev Next