Squeak and Namespaces

Göran Krampe goran at krampe.se
Thu Nov 30 09:17:41 UTC 2006


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
>>> scritto:
>>> > On 11/29/06, Klaus D. Witzel <klaus.witzel at cobss.com> wrote:
>>> >
>>> >         Motivation for syntax: we say SmallInteger and LargeInteger
>>> to
>>> >         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
>>> to
>>> > 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
> components).

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?

regards, Göran




More information about the Squeak-dev mailing list