> 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


Reply via email to