[Seaside] Importing halo's from Monticello

John Pierce john.raymond.pierce at gmail.com
Sat Jun 4 01:44:19 CEST 2005

> It's not about how temps work, it's about how literals work. When an
> expression like #(nil) is compiled, a new Array object is created and
> stored in the CompiledMethod object. Every time you invoke the
> method, that same instance gets used. This is different from {nil},
> which creates a new Array every time, or [nil], which creates a new
> BlockContext every time.
> So effectively the cache is inside the CompiledMethod object itself;
> if you change the source and recompile, the cache will get wiped out
> (which is exactly what you want).

Pretty freaky! I never cease to be amazed by this super cool programming 
environment. You are right! What a handy dandy trick. I wonder if that is an 
implementation feature of Squeak or if all Smalltalks exhibit that behavior. 
Anyways, I updated InstanceEncoder on SqueakMap with your caching 
optimization. Thanks for providing explanation of the technique.



It's easy to have a complicated idea. It's very very hard to have a simple 
idea. -- Carver Mead
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20050603/bad30392/attachment.htm

More information about the Seaside mailing list