[ENH] Display := when pretty printing ([sm][et][er][cd][approved]
)
Yoshiki Ohshima
Yoshiki.Ohshima at acm.org
Fri Oct 17 16:12:50 UTC 2003
Hello,
> > And in new code, those who like to assign with underscores with no
> > whitespace around them, can even continue doing so, as long as they don't
> > have x, y, and x_y in scope, which might well mean that they will never
> > write an unintended ambiguity in their entire careers. Should it happen
> > anyway, a simple space will suffice to clear things up.
>
> It's not just a matter of new code. It is possible that a re-compilation of
> old code would happen.
One thing we could do is:
1. Use m17n package.
2 Make the left arrow (U+2190) legal assignment syntax.
3. Fix the existing glyphs so that the 16r5F character is shown as
an underscore.
4. Hack the ParagraphEditor so that we can enter underscore and left
arrow without any OS support. (This should be as easy as the
mechanism I wrote in the response to Darius.)
5. Come up with new file out extensions. (Somehow I'm thinking .csm
and .stm. would be ok.)
6. When a .st or .cs file is loaded, the 16r5F characters in it (but
not in the string constants) are converted to left arrows. When
.csm or .stm is loaded, it doesn't do this. (The rationale is
that the 16r5F characters in the old files were indeed left
arrows.)
7. Convert all methods in .changes and .sources so that the
underscores get converted to left arrow (U+2190).
8. Make 16r5F character an legal character for names and make it
illegal as assignment character. (So, until this point, we still
can't use the underscore in part of the names.)
The upside of this strategy is that we can support existing stuff in
the base image and out of base image. Also, we can let programmers
use both ':=' and the left arrow for the assignment syntax. The down
side is that it'll change the .sources at some point; it has to be
done when we change the major version. (While we are at 3.x versions,
we can move to #6 in the above list.)
-- Yoshiki
More information about the Squeak-dev
mailing list
|