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