Squeak and Namespaces
Klaus D. Witzel
klaus.witzel at cobss.com
Thu Nov 30 10:24:59 UTC 2006
On Thu, 30 Nov 2006 10:17:41 +0100, G"oran wrote:
> Hi!
>> Hi G"oran,
>> on Thu, 30 Nov 2006 01:19:41 +0100, you wrote:
>>> Hi!
>>> Giovanni Corriga <giovanni at corriga.net> wrote:
>>>> Il giorno gio, 30/11/2006 alle 12.07 +1300, Michael van der Gulik ha
>>>> > Also, your message names are capitalised, which will have a negative
>>>> > affect on your karma.
>>>>
>>>> Isn't this what Henryk's Environments do?
>>>
>>> Henrik, not Henryk. And I would probably say Dan's/Henrik's
>>> Environments
>>> - Dan started that path and Henrik tried to fulfil it.
>>>
>>> Personally I think it is too complicated - I dislike hierarchies in
>>> general :).
>>
>> My mistake: I wrote "hierarchy" but in fact the space is organized like
>> the space in Trait (users of a trait composition and the composition's
>> components).
>
> You lost me. You have "System >~ Default >~ Compiler" - that is a path
> down a hierarchy, right?
Inasmuch as containers and components form a hierarchy: yes. Inasmuch as
the atom of a hierarchy can always root a subhierarchy versus, an atom of
a namespace can always be subdivided: no.
Suggestion: you take the branch marked with *yes* :)
>>> But yes, the idea was to use late binding using message
>>> sends etc.
>>
>> No, this was not my idea. The compiler reduces the #>~ message symbol:
>
> Ok, but it was in Henrik's/Dan's code. :)
:)
>
>> (A >~ B) "results in"
>> (Association key: #B value: B) "which is a component of A"
>
> Eh... so you do compile time binding just like I do? Then what was the
> point of using a "binary message"? Just syntactic?
Partially; more specific: an attempt to use the same syntax for coding and
for maintenance (for doIt and friends) which *also* can be overridden
(specialized) at will (like, for example, in the Smalltalk language every
method can be overridden at will :)
In this particular discussion, I mean *not* to override your
#scopeVariable method in Parser. Instead, here's the difference:
binding := scope perform: #>~ with: varName asSymbol "cannot just send >~
here ;-)"
Note the difference between #bindingOf: and #>~ (the latter is a binary
message, suitable for easy doIt).
/Klaus
> regards, Göran
>
More information about the Squeak-dev
mailing list
|