Pressures for Substantially New Squeaks
Andrew C. Greenberg
werdna at gate.net
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.
Yip.
More information about the Squeak-dev
mailing list
|