Squeak and Namespaces
goran at krampe.se
Thu Nov 30 09:17:41 UTC 2006
> Hi G"oran,
> on Thu, 30 Nov 2006 01:19:41 +0100, you wrote:
>> Giovanni Corriga <giovanni at corriga.net> wrote:
>>> Il giorno gio, 30/11/2006 alle 12.07 +1300, Michael van der Gulik ha
>>> > On 11/29/06, Klaus D. Witzel <klaus.witzel at cobss.com> wrote:
>>> > Motivation for syntax: we say SmallInteger and LargeInteger
>>> > subclasses
>>> > of Integer and obviously prefer the opposite direction for a
>>> > namespace
>>> > hierarchy. Let's replace the suggested :: by a legitimate
>>> > binary message
>>> > Morphic >~ View
>>> > Tweak >~ View
>>> > System >~ Default >~ Compiler
>>> > My >~ Terrific >~ Compiler
>>> > Implementing Namespaces like this would mean that your code runs
>>> > slower. In order to refer to a class, you'll need to send a message
>>> > a Namespace every time you refer to it, rather than just refer to the
>>> > class directly.
>>> > 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
You lost me. You have "System >~ Default >~ Compiler" - that is a path
down a hierarchy, right?
>> 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?
More information about the Squeak-dev