Hi!
"J J" azreal1977@hotmail.com wrote:
From: goran@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