[squeak-dev] The future of BlockContext

Levente Uzonyi leves at elte.hu
Mon May 2 03:58:27 UTC 2011


On Thu, 28 Apr 2011, Randal L. Schwartz wrote:

>>>>>> "Levente" == Levente Uzonyi <leves at elte.hu> writes:
>
> Levente> since the early days of the developement of Squeak 4.1 (3.11
> Levente> back then) BlockContext was replaced by BlockClosure. I guess
> Levente> it's time to remove it from the system and merge ContextPart
> Levente> and MethodContext to Context as it was originally planned. Any
> Levente> objections?
>
> I know that most of the things that reach that deep are probably all
> core stuff (like debuggers), but is it possible to have some sort of
> backward-compatible API that mimics the old interfaces for legacy code?

I think it's unnecessary, because if you're still using BlockContexts, 
then you're using a pretty old image. Since the early days of the Trunk 
process only BlockClosures are created and used by the system.

The only concern I had about this change is that someone could serialize 
BlockContexts and deserializing them will fail if BlockContext is not in 
the image. But even if there's a class named BlockContext in the image, 
the deserialized objects won't work. Users with such code have to migrate 
their code and objects anyway.


Thanks everyone for the responses, as a first step I started (continued?) 
breaking BlockContext support by changing #copyTo:.


Levente

>
> -- 
> Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
> <merlyn at stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
> Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.
> See http://methodsandmessages.posterous.com/ for Smalltalk discussion
>



More information about the Squeak-dev mailing list