Max Leske wrote
> You *need* an outer context.

This is the very point of my experimentation! Why? It wreaks havoc on naive
Fuel users when serialized blocks can't be materialized. In the case of
clean blocks, the outer context is irrelevant from the user perspective.
What I'm trying to figure out is where this requirement comes from and
whether it can be removed, at least for clean blocks.

This seems to be the raison d'ĂȘtre of FullBlockClosure. It's class comment:

    A FullBlockClosure is a closure that can be independent of any
outerContext if desired.  It
    has its own method (currently reusing the startpc inst var) and its own
receiver.
    outerContext can be either a MethodContext/Context or nil.

Unfortunately, I'm having trouble creating one to play with. It seems that
maybe the FullBlockClosure concept is a bit unfinished? I ask this both
because BlockClosure still exists in addition to FullBlockClosure (IIUC I
thought the Full one was a replacement) and because I found the following
posts which talk about future work e.g. for clean blocks:
- https://clementbera.wordpress.com/2016/06/27/fullblockclosure-design/
-
https://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/2016-September/124161.html
- (More about Sista) http://wiki.squeak.org/squeak/6589
- (general FullBlock... description) http://wiki.squeak.org/squeak/6610



-----
Cheers,
Sean
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html

Reply via email to