Pressures for Substantially New Squeaks

Andrew C. Greenberg werdna at
Sat Feb 13 19:53:27 UTC 1999

> To have the benefits of the syntax and name spaces I patched the method
> Class>>scopeHas:ifTrue: like this:
> "patch"
> self locations associationsDo: [ : each |
>     assoc := each value associationAt: varName ifAbsent: [ nil ].
>     assoc == nil ifFalse: [
>         assocBlock value: assoc.
>         ^true
>     ].
> ].
> "end of patch"
> superclass == nil ...
> Now you can type any crazy name, as long as it is defined in locations. So,
> instead of typing String I could type Tekenreeks (a possible Dutch name for
> String) and have it compile String.

Isn't he cool?

> [snip]
>>Agreed that the language needn't be changed to accomplish the task,
>>but it ought to take less than (what will appear to most as)
>>fundamental system hacking to accomplish.
> Yip. It is in fact quite simple. I am even playing with the idea to fully
> substitute the method scopeHas:ifTrue: with just the patch.
> Currently, the tactics for resolving names is hard coded ( first: check
> symbol, then check class variables, then pools, then if you have a super
> class ask your else look in Smalltalk). This can be replaced with a protocol
> which asks where to look for a name. The currenty hard coded search path is
> then the default one at Object level.


More information about the Squeak-dev mailing list