Closure Compiler in 3.9 ?
Mathieu Suen
mathk.sue at gmail.com
Tue May 8 22:51:20 UTC 2007
Ok I found it out why is that because BlockClosure are now inside the
literal frame and they contain the method they inline.
So if your are comparing BlockClosure you are also comparing the
method they are inlining ( in your case: (i:= i-1) > 0 ifTrue: [j := j
+1 . b value.] ifFalse:[j])
But for b is litaeral of your method inside the closure. That why you
have your loops I suggest to use the attached patch and I will repost
the bug to mantis.
Thanks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: FixComparingClosure.1.cs
Type: application/octet-stream
Size: 338 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20070509/c53762a0/FixComparingClosure.1.obj
-------------- next part --------------
Mth
On May 8, 2007, at 11:42 PM, Andrew P. Black wrote:
> If I put all three in the same doit, I get an infinite loop.
> Array(SequenceableCollection)>>= calls
> Array(SequenceableCollection)>>hasEqualElements calls
> Association>>= calls
> BlockClosure>>= calls
> Array(SequenceableCollection)>>=
More information about the Squeak-dev
mailing list
|