Hi G"oran,
on Thu, 30 Nov 2006 09:33:01 +0100, you wrote:
Hi!
...
There is AFAICT nothing really stopping us from putting some kind of "imports" into the system later. But it has the following "problems":
- We loose the "single mode" that is a large part of the Smalltalk feel.
In Squeak I can type an expression anywhere and just "do it". With imports you suddenly get the inevitable question "In what context?".
This is exactly the *explicit* situation of the automated language translator and the [tendentially] *implicit* situation of the human reader / listener, thank you G"oran for bringing this up!
Nothing else than *this* *situation* needs most of our attention, when making [partially?] irreversible decisions on namespace concepts.
For quite some decades, the automating linguists have solved this problem by assigning specialized microglossaries to [arbitrary] portions of text, a (re-)usable example is:
- www.microglossary.net
A nontrivial real-world example for all the consequences (the good, the bad and the ugly), in the realm of the automated field of our discussion, with conceptually (microglossary := microtheory), is
- http://www.cyc.com/cycdoc/ref/cycl-syntax.html
...
What is the consequence? Well, in *practice* this emulates my solution - only type short names and it asks when there are choices.
And preserve that during fileOut? And cause conflicts (DNU's?) during fileIn?
You hardly ever look at the imports anymore - which is yet another evidence that you typically *know* what you use/import.
Except when you hunt for bugs where two methods of the same class (and on the same side) use different namespaces?
Ok, I hate the way imports get into my face in Java. And people are more or less only offering solutions based on very similar models. I really would like for people to try to think "out of the box" here. And I am not referring to you Andreas - you already have enough insight. But others might benefit from at least *contemplating* that namespaces:
- Don't *have* to be hierarchical.
- Don't *have* to use file/class/package level imports.
+1 - Don't *have* to be explicit.
/Klaus
regards, Göran