Squeak and Namespaces

goran at krampe.se goran at krampe.se
Tue Dec 5 19:58:49 UTC 2006


Hi!

"J J" <azreal1977 at hotmail.com> wrote:
> >From: goran at krampe.se
> >Comparing those two I am definitely in favor of :: - but note that the
> >Gemstone style works too - but then it is a runtime lookup and not a
> >compile time lookup - which is pretty intuitive IMHO.
> >
> 
> afaik, it is a compile time look up same as yours.  "Compile" being when you 
> make a method and say "accept" or when you file something in (which explains 
> why code would run different depending on who loads it).  At least that's 
> how I understand it.

Let me rephrase that:

"Comparing those two I am definitely in favor of :: - but note that the
Gemstone style works *in my proposal too* - but then it would be a
normal runtime lookup and not a
compile time lookup - which *given the syntax* is pretty intuitive
IMHO."

Or in other words - in my proposal writing:

	Foo at: #Bar

...is just regular Smalltalk, nothing magical at all. Foo refers to a
Namespace held in a global. And I prefer that because it *looks* like
regular Smalltalk. But if you see :: - then you get a heads up, which is
good - since it is a new concept.

But in GemStone, if I understood it correctly, the Compiler is fed... a
list of System Dicts? Not sure exactly, but in any case "Foo" can be
resolved differently at compile time because of that. I can easily see
all newbies and experts alike fall over that one over and over and
over...

Now - if you are worried about changing syntax - I would actually
consider the GemStone difference much more "dangerous". :)

regards, Göran



More information about the Squeak-dev mailing list