[prev in list] [next in list] [prev in thread] [next in thread]
List: e-lang
Subject: Re: [e-lang] multiway when-catch
From: "Rob Withers" <reefedjib () yahoo ! com>
Date: 2007-10-30 2:36:22
Message-ID: CD16B2627BFA430C93BE1C70CA126F86 () Quotar
[Download RAW message or body]
----- Original Message -----
From: "Kevin Reid" <kpreid@mac.com>
To: "Discussion of E and other capability languages"
<e-lang@mail.eros-os.org>
Sent: Monday, October 29, 2007 5:43 PM
Subject: Re: [e-lang] multiway when-catch
> On Oct 29, 2007, at 17:50, Rob Withers wrote:
>
>> % eventualRef
>> "Add an eventualRef to the list"
>> refs add: eventualRef.
>>
>> initialize
>> refs := OrderedCollection new.
>>
>> whenResolved: reactor
>> | countDown |
>> countDown := refs size.
>> refs do: [:each |
>> each whenResolved: [:aRef |
>> countDown := countDown - 1.
>> countDown <= 0
>> ifTrue: [reactor valueWithArguments: refs asArray]]].
>
> Okay, this looks reasonable, though it's more mutable than is good
> style. However, whenResolved is not a primitive operation on
> references. Look at jsrc/org/erights/e/elib/ref/Ref.java for the
> implementation of whenResolved.
I see that, now that you point it out. I am sure there is a good reason for
it. Is it because you want to limit the MirandaMethods defined, and
__whenMoreResolved handles the behavior of what you want, so whenResolved
and whenBroken are specified in terms of __whenMoreResolved? Or are there
other reasons?
Rob
_______________________________________________
e-lang mailing list
e-lang@mail.eros-os.org
http://www.eros-os.org/mailman/listinfo/e-lang
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic