The Inbox: Kernel-fbs.697.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

The Inbox: Kernel-fbs.697.mcz

commits-2
A new version of Kernel was added to project The Inbox:
http://source.squeak.org/inbox/Kernel-fbs.697.mcz

==================== Summary ====================

Name: Kernel-fbs.697
Author: fbs
Time: 8 June 2012, 2:58:00.068 pm
UUID: bcec51c0-7e42-4f78-897b-73b99f088354
Ancestors: Kernel-nice.693

* The resolver instvar is initialised to an Array so #ifNotNil: is a no-op.
* #evaluateResolver: reimplemented #cull:; rather use BlockClosure's version - less duplication.

=============== Diff against Kernel-nice.693 ===============

Item was changed:
  ----- Method: Promise>>evaluateResolver: (in category 'private') -----
  evaluateResolver: resolverBlock
+ resolverBlock cull: value.!
- resolverBlock numArgs = 0
- ifTrue: [resolverBlock value]
- ifFalse: [resolverBlock value: value].
- !

Item was changed:
  ----- Method: Promise>>resolveWith: (in category 'resolving') -----
  resolveWith: arg
  "Resolve this promise"
  mutex critical: [
  isResolved ifTrue: [self error: 'Promise was already resolved'].
  value := arg.
  isResolved := true.
+ resolvers do: [:r | self evaluateResolver: r].
- resolvers ifNotNil: [resolvers do: [:r | self evaluateResolver: r]].
  ].!


Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: Kernel-fbs.697.mcz

Frank Shearar-3
On 8 June 2012 14:58,  <[hidden email]> wrote:

> A new version of Kernel was added to project The Inbox:
> http://source.squeak.org/inbox/Kernel-fbs.697.mcz
>
> ==================== Summary ====================
>
> Name: Kernel-fbs.697
> Author: fbs
> Time: 8 June 2012, 2:58:00.068 pm
> UUID: bcec51c0-7e42-4f78-897b-73b99f088354
> Ancestors: Kernel-nice.693
>
> * The resolver instvar is initialised to an Array so #ifNotNil: is a no-op.
> * #evaluateResolver: reimplemented #cull:; rather use BlockClosure's version - less duplication.
>
> =============== Diff against Kernel-nice.693 ===============
>
> Item was changed:
>  ----- Method: Promise>>evaluateResolver: (in category 'private') -----
>  evaluateResolver: resolverBlock
> +       resolverBlock cull: value.!
> -       resolverBlock numArgs = 0
> -               ifTrue: [resolverBlock value]
> -               ifFalse: [resolverBlock value: value].
> -       !
>
> Item was changed:
>  ----- Method: Promise>>resolveWith: (in category 'resolving') -----
>  resolveWith: arg
>        "Resolve this promise"
>        mutex critical: [
>                isResolved ifTrue: [self error: 'Promise was already resolved'].
>                value := arg.
>                isResolved := true.
> +               resolvers do: [:r | self evaluateResolver: r].
> -               resolvers ifNotNil: [resolvers do: [:r | self evaluateResolver: r]].
>        ].!

OK, so while we discuss canonical representations of Arrays, does
anyone have any further comments on this current version of the fix?
I'm happy to push to Trunk, but I'll only do so with a +1 or so. (I'm
a firm believer in peer review.)

frank

Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: Kernel-fbs.697.mcz

Colin Putney-3
On Fri, Jun 8, 2012 at 2:57 PM, Frank Shearar <[hidden email]> wrote:

> OK, so while we discuss canonical representations of Arrays, does
> anyone have any further comments on this current version of the fix?
> I'm happy to push to Trunk, but I'll only do so with a +1 or so. (I'm
> a firm believer in peer review.)

+1