On 9/19/07, Göran Krampe <goran@krampe.se> wrote:
At this point people may be confused but it all boils down to this usage
pattern:
- If you want to have a class Apple in your own namespace "Fruit", just
name it "Fruit::Apple"! It is that simple.
- If you want to move it, just rename it! The Namespace instances I
describe are automatically created and maintained.
- If you want to use it, just type "Fruit::Apple" (because hey, that is
the name of the class!) but of course, you don't want to type all that so
fine, just type "Apple" and it will automatically work! Different things
will happen then:
- If there is no other Apple in your image it will just work. Apple. No
prefix needed. This covers 98% I guess.
- If there are multiple Apple, Squeak will ask you which one you mean
(nice popup menu) and autoexpand it in place!
- If there are multiple Apple BUT one of them is in your LOCAL namespace
(=the namespace of the class you are editing) then it will work just
fine with the short form, the local Apple is chosen instead of the
others. This covers perhaps 70% of those last 2%. :)
This is more or less how you'd interact with my tools too, except that half the steps won't work yet :-).
My thoughts on your proposal, which I'm trying to keep technical rather than judgemental: