My namespace proposal described in Yet Another Try

Jason Johnson jason.johnson.081 at gmail.com
Thu Oct 4 18:19:39 UTC 2007


On 9/19/07, Göran Krampe <goran at krampe.se> wrote:
> Hi folks!
>
> - It is not hierarchical! It is simple "a bunch of named buckets".

That's a hierarchy.  Being hierarchical is not about how many levels,
it's about the nature of the relationship:  is it horizontal
(relational) or vertical (hierarchical).  I would say "a global space
with a bunch of named buckets" is clearly vertical.

> Please let this sink in. This means we have NO IMPORTS and we still don't
> need to write or read qualified names! How is this done?

Well, I have to admit, this part of your proposal has it's appeal.  If
you switched to a message passing syntax as mentioned before, then
you'd get my little vote.

> The trick is to let the source use fully qualified names at ALL TIMES and
> just hook into the source code pane rendering code and the source code
> editing code and make sure the tools "render" short names and accept short
> names when being typed. Aha! So the trick is in the tools. The actual
> source code is JUST LIKE BEFORE. And that is why my proposal is so darn
> backwards compatible.

<snip>

> The snippet will bind and behave very differently based on where I run it.
> Which class? What imports does it have? What does OrderedCollection
> actually bind to? And how does a Workspace work? And what imports does the
> debugger have and the inspectors and all other text panes? Please consider
> this.

So a solution that imports will make the code "magical" and
unreadable, but why can the tools save us in your case, but not in
that case?  They can of course.  The classes could be some kind of off
color in the source code if they are non-global, with a pop up showing
exactly where the class was taken from.  A lot of options are possible
for *both* types of solutions, we don't have to over simplify.



More information about the Squeak-dev mailing list