On 11/30/06, Göran Krampe goran@krampe.se wrote:
But others
might benefit from at least *contemplating* that namespaces:
- Don't *have* to be hierarchical.
Well, this is just the next step in the evolution of namespaces. How long would it take before you go from:
Morphic::StringMorph
to
Morphic::Base::StringMorph
or
Squeak::Morphic::StringMorph Croquet::Morphic::StringMorph Tweak::MorphicCompatibility::StringMorph
or even
Squeak::Base::Graphics::Morphic::BasicMorphs::Text::StringMorph (as opposed to any of the other 114 StringMorphs in a distributed Squeak environment...)
Arguably, we're not at that stage yet, and one-level Namespaces fix all our current problems. I've already been bitten by lack of Namespaces - I couldn't implement my own SocketStream because the name was already used.
- Don't *have* to use file/class/package level imports.
Like I mentioned earlier, I need this feature for securities' sake, but I'm probably going to implement a completely different Namespace system for my own use.
I'm quite impartial to how Namespaces are implemented in Squeak and I think your proposal is fine, provided that I can remove it later if it gets in my way. Currently this seems trivial, and if people don't start making unnecessary prolific use of the new Namespace syntax then I could still re-use most of the existing code.
So.. +1 to your proposal from me.
Michael.