Proposal3: Make $_ a valid identifier character

Richard A. O'Keefe ok at atlas.otago.ac.nz
Wed May 31 00:01:59 UTC 2000


	Your thesis, as expressly stated and reiterated, was that Smalltalk 
	didn't include low lines "because it simply _couldn't_.  The fact 
	that it was possible to have used Smalltalk on machines that 
	"couldn't" in 1980 does not prove your point any more than the fact 
	that it is equally possible to use those machines today.

I *do* so wish that people would take the rather minor trouble to read
carefully and think about what they read.

My point about the 1980s VMS printers *of course* doesn't prove anything
about Smalltalk-80, nor was it intended to.  *READ IN CONTEXT* it quite
obviously was intended only to rebut the claim that ASCII was everywhere
in use and everywhere the same.

The fact remains that the character set actually used by Smalltalk in
the coloured books is suspiciously close to ASCII-63.  The only characters
*not* in ASCII-63 that it uses are the lower case letters, and it was
obvious when ASCII-63 came out that not only were the lower case letters
going to be added later but that they were going to be added where they
now are.  (The FIELDATA precedent for aligning the lower and upper case
blocks was clear, and the reasons for doing it still applied.)

So what what _was_ on the Alto keyboard?

Long pause while I find an Alto BCPL manual.
Annoyingly, The "BCPL Reference Manual" by James E. Curry and PARC staff,
compiled on September 14, 1979 (note date!) does not list the supported
character set, and does not spell out the lexical structure of the language.
However, comparison with other BCPLs reveals:
	[	instead of { or $(
	]	instead of } or $)
	%	instead of |
	=	instead of :=
	uparrow	used in a non-standard feature
		baStudlyCaps identifiers (not normal BCPL at all)
		no SEPARATED_WORDS (which _was_ normal BCPL practice)
With the exception of = for :=, the differences again point to ASCII-63,
which _did_ have uparrow, but _didn't_ have { } or even | (in fact, the
ACK control character was slap bang on top of where | is now).
Even more interesting:  I can find no characters used in Alto BCPL
(other than the lower case letters) that were _not_ in ASCII-63.
Now ISO apparently announced in October 1963, just four months after
ASCII-63 was released, that the lower case letters were going to go
where they are now.

It's not without significance that Mesa, the other systems programming
language for the Alto, also used left arrow for assignment.
I haven't been able to get my hands on a Mesa language reference manual
yet, sadly.

However, we do have evidence that the Alto character set was
(possibly an extension of) (October 1963) ASCII-63.

What we think of as ASCII is ASCII-67, which came out in 1967.
The adoption of a new standard is never instantaneous, so even
in the early 70s, you could expect to find ASCII-63 around.
Like on Teletypes.  Like, even in 1979, on Altos.





More information about the Squeak-dev mailing list