Proposal3: Make $_ a valid identifier character

Richard A. O'Keefe ok at atlas.otago.ac.nz
Mon May 29 04:32:20 UTC 2000


	What is horrible is :-
	a) the use of underscore in symbols. Does anyone think that C should
	allow '=' or '|' or '->' in variable names?

Using underscore in symbols is really rather nice.
Almost *anything* would be better than baStudlyCaps.
BaStudlyCapsIdentifiersAreJustSoHorriblyUgly.

I *don't* think that Squeak should allow the use of the *assignment arrow*
in symbols, but I do most certainly think that it should allow the use of
the "low line" character in symbols.

Does anyone know whether it's just an accident of history that Smalltalk
stuck with the early ASCII ^=up arrow and _=left arrow, or whether that
was a conscious and deliberate choice?

I've used a-b in COBOL and Lisp and liked it;
I've used space in Algol 60 and Fortran and liked it;
I've used \ in a BASIC dialect and tolerated it;
I've used _ in lots of languages and found it good.
The entire absence of any suitable word separator character in Squeak
syntax is easily the worst thing about the language, as far as I'm
concerned.

	b) messing with my favourite backarrow assignment operator

Problem solved if _ and <- are separate characters.

	c) any hint of (and I'm NOT accusing Stephan of this in any ad hominem
	attack) 'oh this is the standard way, so that is what we must do' - if
	we followed this all the time there would be no progress.

The funny thing here is that it is the *standard* in this case which
represents progress.

If we put a left arrow glyph at decimal 27 (ESC)
and an up arrow glyph at decimal 24 (^X)
(heck, why not stick in down arrow at 25 and right arrow at 26 too)
then we'll just be borrowing from another old standard:  DOS CP 437.
(Also 850, 852, 860, 863, and 865, and probably others.)
This would involve a one-time conversion of sources.

Being able to read mail, web pages, &c with the ASCII printing characters
looking like they should would be nice too.





More information about the Squeak-dev mailing list