Dynamic Protocols in the Dev-images

Zulq Alam me at zulq.net
Sun Feb 3 15:07:01 UTC 2008


stephane ducasse wrote:

> 
> I also got the impression that at each doit I did the protocols got 
> recomputed....arghh
> 
> 

You are correct. Each instance of OBCodeBrowser is registered to be 
notified of all system changes. Notification triggers regeneration of 
dynamic protocols.

A "do it" or "print it" is evaluated using 
Compiler>>#evaluate:in:to:notifying:ifFail:logged: which triggers this 
notification.

Confusingly, when you "debug it", this notification isn't sent. The code 
is compiled and executed but no notification is sent.

But, if you debug something that does change the system like: "Object 
compile: 'dude ^ ''sweet'''" then a notification is triggered.

I conclude that either "debug it" isn't correctly notifying or "do 
it"/"print it" are sending out unnecessary notifications.

With regard to dynamic protocols, none of this should matter if it were 
fast enough although it would help to reduce the number of times they 
are regenerated.

Regards,
Zulq.




More information about the Squeak-dev mailing list