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
|