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