Equality of Recursive Structures [Was: Closure Compiler in 3.9 ?]

Lukas Renggli renggli at gmail.com
Fri May 11 18:40:57 UTC 2007


> The queastion remains: why does the mere existence of such recursive
> structures throw Squeak into a tizzy?
> No one answered this.  What does the doIt mechanism do before it executes my
> code?

This is because the compiler internally stores the bindings of the
Workspace in a dictionary with the binding-association as a key.
Unfortunately the association are calculating the #hash using the key
and the value, what causes an infinite recursion on your dictionary
before you code is even compiled.

The implementation of #hash in Association should not use the value to
calculate the key, this is clearly a bug.

Cheers,
Lukas

-- 
Lukas Renggli
http://www.lukas-renggli.ch



More information about the Squeak-dev mailing list