On 14/01/2025 19:42, Paul Koning via cctalk wrote:
On Jan 14, 2025, at 2:35 PM, Frank Leonhardt via cctalk<cctalk@classiccmp.org>
wrote:
On 13/01/2025 21:11, Paul Koning via cctalk wrote:
On Jan 13, 2025, at 3:57 PM, ben via cctalk<cctalk@classiccmp.org> wrote:
On 2025-01-13 12:18 p.m., Brent Hilpert via cctalk wrote:
Huh? Are you saying ALGOL (60) doesn't have [ ] ???
Remember that ALGOL predates ASCII. There weren't standard character sets at
the time. Also, plenty of people have implemented ALGOL on ASCII or EBCDIC
machines; it's not hard to think up a way of dealing with the keywords and
operators.
This is very true. The first (and only) Algol I use was on the Elliott 803
which had Baudot 5-hole paper tape (and teleprinters). It was the first
commercial Algol compiler ever written, and included real world extensions like
PRINT, READ and MOVETO, DRAWTO and stuff for the plotter.
Because of the Baudot there was no ';' to be seen, never mind { and }. And no lower
case, of course. The end of statement was indicated with an apostrophe (or single
quote), and things like >= were GREQ, LESSEQ or what-have-you. * was multiply
(something that stuck this day!) and ** was exponent. Remember that before ASCII, a
multiply and divide symbol was common, as well as single character >= <= and != -
if you had a fancy enough terminal! DIV was divide (I don't think there was a '/'
available anyway)
Eek.
I learned on the THE system at TU Eindhoven. That was an Electrologica X8 system with a very nice OS designed and
built by Dijkstra. For input it used Flexowriters to do off-line paper tape punching, in a 6 bit code (puched as 7
bits, one being parity), giving upper and lower case plus assorted special characters. Dijkstra once commented
that it was nice to be able to order custom characters on their Flexowriters. So it had the "and" and
"or" symbols, a "not" symbol, and non-escaping _ and | characters so you could construct ALGOL
keywords by typing, say, _b_e_g_i_n or not-equal as |= . That allowed some non-standard characters, |< and
|> for string delimiters for example.
ALGOL 68 made the notion of different representations a formal part of the definition, so the
Report spoke of "bold" symbols, leaving it up to an implementation to represent those as
underlined symbols, "stropped" symbols meaning words enclosed in single quotes, or
reserved words. All those were options chosen in various ALGOL 60 compilers but at that time it
wasn't a specifically documented thing.
paul
Yeah, I know there were fancy character set machines out there later.
Look at APL keyboards, for example. ASCII spoiled all the fun.
Baudot, of course, was several domain-specific versions. They didn't
even all have the same letter/figure shift code, never mind the same
symbols in the same place. You had to just know what the wierdnesses
were on any teleprinter that wasn't an original Creed (as supplied by
Elliott). I've still got a Baudot ASR33 in the shed, although I might
have scavenged it for parts for the ASCII. Mostly common linkage parts
on the Baudot - just fewer of them :-)