Squeak and Namespaces

Göran Krampe goran at krampe.se
Fri Dec 1 10:11:03 UTC 2006


Hi!

Andreas wrote:
> Göran Krampe wrote:
>> Either *that* is a bug
>> or the fact that you later *can't reference them by their name* in your
>> code is a bug.
>
> As the above example shows the bug is that the class name is not
> validated. And yes, that is quite obviously a bug (which is even
> somewhat funny since I did validate inst vars and class vars and pool
> vars and about everything I could think of in ClassBuilder - just not
> the class name itself)

Right. I just wanted to get people to notice that we aren't that "Squeaky
clean" as we sometimes think we are. It sounded like an argument for my
solution and that I take back.

>>>> that could begin to fork the world into ::-dependent and ::-free code?
>>
>> Hehe, we have tons of other ways of making code "forked" - like
>> depending
>> on Monticello or depending on Traits etc etc. As I have shown we are
>> talking about 4 method mods and one added method. All in all it is (let
>> me
>> count)...
>>
>> 12 added lines and 7 modified lines of code. This is all you would need
>> AFAICT at this moment to have ::-code working, see:
>>
>>     http://swiki.krampe.se/gohu/35
>>
>> I bet we can make this work in all Squeaks released to date with minimal
>> effort.
>
> Let me repeat: Language design is not a zero-sum game. I don't care if
> the change is four or four hundred lines of code.

Well, in practiec I really don't think you don't care about that. :) If it
was four hundred lines I am pretty sure you nor anyone else would even
contemplate putting it in. :)

> I don't care if VW's
> namespaces suck or if Croquet uses positional arguments. In *this*
> discussion I care about whether a change like you are proposing is worth
> it based *exclusively* on its own merits.

I agree with the "on its own merits" of course. The point of noticing
Croquet "diversions" from regular Squeak is to get people to see that we
(as in all Squeakers - forks like Croquet included) are indeed already
changing things making various forks incompatible with each other.

I clearly recall this positional thing popping up in another thread when
someone was trying to get something from Croquet working in regular Squeak
(my memory sucks).

> And if you are jealous that Croquet is able to make decisions you have a

No, I am not jealous.

> simple alternative: Make up a fork that shows the error of everyone
> else's ways. As a matter of fact I would vastly prefer that because it
> would mean that there is some actual usage to look at and that I don't

The idea of forking Squeak has indeed occurred to me, but not for this
reason.

> have to take you at face value with all of these (so far completely
> unsubstantiated) claims.
> The nice thing about forks is that you can look
> at them, try them out, and then, with 20/20 hindsight can say whether a
> change like it makes sense for Squeak in general or not. But I don't
> think even you have used your namespace solution anywhere.

No, I haven't. I will though, but I don't think it will buy much more
insight than possibly flushing out a few bugs and add a feature or two. It
doesn't really say much about the larger picture.

> So what exactly are your claims based on?

I am slightly unsure what you mean with "claims". If you mean my claims on
how the code works - they are based on my own knowledge of what the heck I
did. If you mean my "claims" on how it would play out in practice on a
large scale it is of course pure guessing - in fact pretty much like
anyone else's "claims" on how another solution would work.

If there is any other claim you refer to - please specify.

> Cheers,
>    - Andreas

Let me just finish by saying that it was not *I* that brought this up once
again, ok? Someone asked about Namespaces in Squeak and Bert pointed to my
solution - and from there it went.

I am explaining and defending my solution, but I have generally given up
on getting it accepted - it is just the same story all over again. So you
don't have to worry. :)

I will try to document it in painful detail and will play with it myself -
but as far as advocating its inclusion goes, someone else will have to
step up.

regards, Göran




More information about the Squeak-dev mailing list