[Cuis-dev] [Ann] Serialization of BlockClosures

Juan Vuletich juan at jvuletich.org
Mon Sep 30 04:49:53 PDT 2019


Oh, apologies. I thought those were harmless and didn't even comment 
about them. You can get by by removing #3889 and #3890 until we 
understand and fix.

The idea is to fix things like

Color red select: [ :v | v > 0.5 ]

This shouldn't answer an instance of Color, but of the closest 
superclass that can have instances of any size. The same happens for 
many other classes in optional packages. How is this affecting your 
code? I guess you have ArrayedCollection classes that answer a non-zero 
value to #numElements, but their #species should be the class, right? 
What would happen if a #select: answers a smaller instance? And more 
important, what else are we using #species for?

Thanks,

-- 
Juan Vuletich
www.cuis-smalltalk.org
https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
https://github.com/jvuletich
https://www.linkedin.com/in/juan-vuletich-75611b3
@JuanVuletich


On 9/30/2019 7:29 AM, Phil B wrote:
> Juan,
>
> Could you explain the why behind the ArrayedCollection #species 
> change?  I understand what you're doing, but not why... (rather 
> important since my subclasses are now breaking and I'm not following 
> the reasoning yet)
>
> Thanks,
> Phil
>
> On Sun, Sep 29, 2019 at 1:57 PM Juan Vuletich via Cuis-dev 
> <cuis-dev at lists.cuis.st <mailto:cuis-dev at lists.cuis.st>> wrote:
>
>     Hi Folks,
>
>     After many requests made during a long time, it is finally here.
>     We can
>     now serialize almost any BlockClosures, including those that use
>     outer
>     temps, self, instance variables, etc.
>
>     The only closures that can't be serialized are those that do
>     non-local
>     returns (^stuff) or super sends. These are usually not passed
>     around or
>     stored in variables, so I don't expect this to be a limitation.
>
>     Updates now at GitHub.
>
>     Cheers,
>
>     -- 
>     Juan Vuletich
>     www.cuis-smalltalk.org <http://www.cuis-smalltalk.org>
>     https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
>     https://github.com/jvuletich
>     https://www.linkedin.com/in/juan-vuletich-75611b3
>     @JuanVuletich
>
>     -- 
>     Cuis-dev mailing list
>     Cuis-dev at lists.cuis.st <mailto:Cuis-dev at lists.cuis.st>
>     https://lists.cuis.st/mailman/listinfo/cuis-dev
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20190930/cc5ad6d7/attachment.htm>


More information about the Cuis-dev mailing list