On Thu, Jun 14, 2012 at 2:34 AM, Frank Shearar <[email protected]>wrote:
> On 13 June 2012 23:15, Eliot Miranda <[email protected]> wrote: > > > > > > On Wed, Jun 13, 2012 at 7:35 AM, Frank Shearar <[email protected]> > > wrote: > >> > >> On 2 June 2012 09:28, Stefan Marr <[email protected]> wrote: > >> > Hi Sean: > >> > > >> > On 02 Jun 2012, at 05:07, Sean P. DeNigris wrote: > >> > > >> >> During the process, I noticed that the Blue Book specifies that #fork > >> >> returns the block itself (pg. 252), while in Pharo it returns the > >> >> process > >> >> (see #testFork in the slice). Should our implementation be changed to > >> >> match the Blue Book? > Sorry to reply so late. I think the blue book definition is broken. fork should answer the process. It has been changed to do so in VisualWorks for a long time. I think the blue book definition is simply a bug. It can easily be implemented in the caller using yourself, i.e. [...] fork; yourself answers the block if one needs it. >> > > >> > Why would it be desirable to have the block? > >> > How would you obtain the process object after your change? > >> > > >> > Having the process directly is useful to do fork/join style > operations. > >> > >> How do you #join Processes? I can't see anything in Process' protocol > >> for doing so. so what am I missing? > > > > > > Nothing. Theres no support for join. You have to roll your own. > > OK, that's what I thought. Stefan's comment intrigued me. > > It would be kind've handy to be able to say - even though we don't use > native threads - something like this: > > (0..10).map {|i| > Thread.new { sleep(1); i } > }.map {|t| t.value} > > only in a decent language: > > ((0 to: 10) > collect: [:i | [(Delay forSeconds: 1) wait. i] fork]) > collect: [:p | p value]. > > frank > > >> > >> > >> frank > >> > >> > Best regards > >> > Stefan > >> > > >> > -- > >> > Stefan Marr > >> > Software Languages Lab > >> > Vrije Universiteit Brussel > >> > Pleinlaan 2 / B-1050 Brussels / Belgium > >> > http://soft.vub.ac.be/~smarr > >> > Phone: +32 2 629 2974 > >> > Fax: +32 2 629 3525 > >> > > >> > > >> > > > > > > > > -- > > best, > > Eliot > > > > -- best, Eliot
