Hi,
since the early days of the developement of Squeak 4.1 (3.11 back then) BlockContext was replaced by BlockClosure. I guess it's time to remove it from the system and merge ContextPart and MethodContext to Context as it was originally planned. Any objections?
Cheers, Levente
On Thu, Apr 28, 2011 at 1:56 PM, Levente Uzonyi leves@elte.hu wrote:
Hi,
since the early days of the developement of Squeak 4.1 (3.11 back then) BlockContext was replaced by BlockClosure. I guess it's time to remove it from the system and merge ContextPart and MethodContext to Context as it was originally planned. Any objections?
On the contrary! Woot!
Cheers, Levente
If principal master in chief says so, give you a pleasure !
Nicolas
2011/4/28 Eliot Miranda eliot.miranda@gmail.com:
On Thu, Apr 28, 2011 at 1:56 PM, Levente Uzonyi leves@elte.hu wrote:
Hi,
since the early days of the developement of Squeak 4.1 (3.11 back then) BlockContext was replaced by BlockClosure. I guess it's time to remove it from the system and merge ContextPart and MethodContext to Context as it was originally planned. Any objections?
On the contrary! Woot!
Cheers, Levente
"Levente" == Levente Uzonyi leves@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?
Hi Randall,
On Thu, Apr 28, 2011 at 3:50 PM, Randal L. Schwartz merlyn@stonehenge.comwrote:
"Levente" == Levente Uzonyi leves@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?
This issue is essentially moot. Backwards-compatibility code already exists. But BlockContexts are no longer created or used so they can be eliminated, and once this is done there is only one context class and hence we can merge ContextPart and MethodContext into Context. Providing backward-compatible names for Context (e.g. Smalltalk at: #MethodContext put: Context) are possible but dubious, no?
best, Eliot
-- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 merlyn@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
On Thu, 28 Apr 2011, Randal L. Schwartz wrote:
"Levente" == Levente Uzonyi leves@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@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
On 5/2/11, Levente Uzonyi leves@elte.hu wrote:
Thanks everyone for the responses, as a first step I started (continued?) breaking BlockContext support by changing #copyTo:.
That's fine, please go ahead.... And thank you for your work.
--Hannes
squeak-dev@lists.squeakfoundation.org