Lex,
First, the 3.7 stable universe idea is a good one.
Asking me to allow the old code to run is an odd way to put it: I have absolutely no power over it. However, it might be interesting to see how much of that code passes even a basic smoke test. I might be pleasantly surprised, but given the complaints I have read over time re things like the Canvas protocol[*], I suspect that much of the code is broken over far worse things than underscores.
Please keep in mind that my most emphatic request is to promote Ian's (I believe) fix, for underscores in all but the first slot in a selector, to part of the mainstream release so that it will get maintained as the compiler evolves. I am not aware that it breaks any code.
I disagree with your assessment that I am suggesting a change for legacy reasons. Quite the opposite. I am suggesting it for compatibility with other dialects and ANSI compliance. I submit that yours is the legacy argument. And it is one legacy of Squeak which should not be celebrated. Hijacking the underscore for single-character assignment was a mistake; the same capability could and should have been provided within the editor, keeping the compiler and sources clean. Please allow that to be corrected, albeit at a pace that keeps associated discomfort to a minimum.
Sincerely,
Bill
[*] I'm simply stating that my imperfect memory of unmoderated comments gives the impression that it has been a moving target. The less accurate that statement is, the happier I get - within reason.
Lex Spoon:
There is a lot of legacy code not even in the image that uses underscore for assignment. Please allow this code to keep working. We should not break massive amounts of code just for legacy reasons. At the very very least, allow such legacy code to file in.
If you or anyone have a parsing hack you would like to try, e.g. to allow it in identifiers while still allowing it for assignment, a great sample set would be the 3.7 stable universe. This is 200 packages worth of Squeak content, quite a lot of which uses _ for assignment. If your idea works there without breaking anything, then it is probably okay.
The download is here:
http://minnow.cc.gatech.edu/squeak/3835
Wilhelm K. Schwab, Ph.D. University of Florida Department of Anesthesiology PO Box 100254 Gainesville, FL 32610-0254
Email: bills@anest4.anest.ufl.edu Tel: (352) 846-1285 FAX: (352) 392-7029
"Bill Schwab" BSchwab@anest.ufl.edu writes:
Please keep in mind that my most emphatic request is to promote Ian's (I believe) fix, for underscores in all but the first slot in a selector, to part of the mainstream release so that it will get maintained as the compiler evolves. I am not aware that it breaks any code.
That kind of thing would sound great to me. The stable universe provides a good test for this theory, if anyone wanst to do that test and lend support to the underscores cause.
By the way, do you only mean selectors, or also variable identifiers? What would the proposal do about this kind of code?
x_3 "is it x := 3, or the identifier x_3 ?"
I disagree with your assessment that I am suggesting a change for legacy reasons.
That was a typo; indeed, I am the one arguing that we support our legacy. I am happy to support the ANSI standard if possible, but I would put the top priority on existing Squeak code.
-Lex
squeak-dev@lists.squeakfoundation.org