Namespaces (was: Re: [ANN]A plan for 3.8/4.0...(insertdrumrollhere))

stéphane ducasse ducasse at iam.unibe.ch
Sat Apr 3 09:38:32 UTC 2004


>
> Stef, you really need to understand that this is all about the goals 
> you
> have. "You do not need a reference operator" is not an argument here 
> simply
> because fundamentally you don't need a namespace or imports either - 
> since a
> class has an identity (which you could for example express via a UUID) 
> it is
> completely irrelevant for the system what its name is. Names are 
> assigned by
> humans. And if we want to provide a way to keep that user's namespace 
> clean,
> then we may very well need the ability to use an explicit scope.
>
> In this context, "need" is defined by what we want to show to the user 
> - if
> we deliberately want to hide some names while keeping them accessible
> somehow then we do in fact need a way of referring to a name from some 
> place
> which is not in the "first order namespace".
>
> And similarly, if you are happy with putting everything someone uses 
> into a
> single flat namespace, then yes, you don't need a reference operator. 
> But
> this is a question of what you're trying to achieve, and while I can 
> agree
> that for the goals of ClassBoxes you may not need a scope operator 
> that's
> not true for my goals. I "need" it ;-)

I totally agree. (I really emails I'm so bad at communicating via text)
I was saying that you do not need You = andreas. Read my other emails. 
I think that this
is really a question of goal and I totally understand yours. Now our 
goal was
to avoid scope manipulation, the idea was you have multiple Smalltalk 
environments
(difficult to express again)....What I wanted to say is that there is 
no one single absolute way to have
namespace and that the only canonical form is using ::. (this was the 
meaning of you do not need
::). I guess that you understand what I tried to say so badly. 
(sometimes my mind goes too fast
at least faster than my typing ;)). I have the impression that I will 
be always a frustrated guy regarding communication and I do not see 
something that scale more than emails right now.
May be chat...

> BTW, you *do* need the ability to rename and this may easily get even 
> more
> ugly than having an explicit scope operator. Some names are heavily 
> overused
> and it's not clear whether explicitly renaming objects based on what 
> each
> single user thinks the convention is would be better than providing a
> system-wide consistent way of referring to it.

Yes I think that this is were the real problems arise

>
> My preference is with the latter - if I try to import Foo from A and B 
> I
> would find it preferrable if I'd have to be explicit and if in code 
> that I
> read I see it stated that this is "A::Foo" vs. "B::Foo" instead of 
> renaming
> Foo into "Bar" and "Mumble".

This is also my impression. I'm really not sharp on renaming because
we discussed a lot and we decided to remove it because we could get a 
real mess.
So I would have to really see the need and what are all the problems.



>
> Cheers,
>   - Andreas
>
>




More information about the Squeak-dev mailing list