Algol68 Digest, Vol 16, Issue 9
Paul Leyland
paul.leyland@gmail.com
Wed Jun 3 19:33:34 GMT 2026
On 03/06/2026 19:19, algol68-request@gcc.gnu.org wrote:
> Message: 2 Date: Wed, 3 Jun 2026 11:19:29 -0700 From: chris hermansen
> <clhermansen@gmail.com> To: "Jose E. Marchesi" <jemarch@gnu.org> [Elided]
> https://www.jemarch.net/a68-jargon/a68-jargon.pdf
>
> does not include:
> - left curly bracket {
> - right curly bracket }
> - back tick or open quote `
> - at sign @
>
> In the Sourcehut location here
>
> https://git.sr.ht/~jemarch/a68-jargon/tree/master/item/src/worthy-character.texi
>
> the at sign @ has been included.
>
> None of the above aludes to whether or not other Unicode characters are
> permitted in e.g. string denotations (I believe they are; I strongly
> believe they should be).
>
> Given this comment from the jargon text:
>
> "Effectively, an Algol 68 program is a sequence of @dfn{worthy characters}
> and newlines."
>
> I am pretty sure the left and right curly brackets as well as the back
> tick must be included, and I feel that some kind of further clarification
> is deserved as to whether other Unicode characters are permitted in string
> denotations.
>
> Ok that was part one! About unworthy characters...
>
> https://git.sr.ht/~jemarch/a68-jargon/tree/master/item/src/worthy-character.texi
>
> states:
>
> "Valid Algol 68 programs should be composed of worthy characters only."
>
> Depending on whether Unicode characters are permitted in a string
> denotation, again I feel it's worthwhile reconsidering this comment.
>
> That was part two.
>
> In part three, I invite everyone back to one of my favourite whines which
> goes like this:
>
> "please can we work toward allowing other Unicode characters to be worthy".
>
> Being a regular user of the compose key, I would love to be able to code:
>
> op ? = (int a, b) int: a <= b;
> op ? = (int a, b) int: a >= b;
> op ? = (bits b, int l) int: b SHL l;
> op ? = (bits b, int r) int: b SHR r;
> op ? = (int a, b) int: a % b;
> op ? = ([] int v) int: (int s := 0; for i from LWB v to UPB v do s +:= v[i]
> od; s);
> op ? = (real x) real: sqrt(x);
>
> which to me is particularly aligned with the Algol languages' purpose of,
> well, expressing algorithms;
>
> and to be able to create variable names with accented characters such as
>
> string descripci?n = "foo bar puckey tootz";
>
> etc etc.
I strongly support this proposal. There are historical reasons as
well. Some of the most usable Algol 68 compilers were built in the USSR
and used Cyrillic characters. In Perl, which is only one example of
other languages, I write "my $π = 3.141592653589793238;" and likewise
use $α for Right Ascension and $δ for Declination in astronomy code.
"STRING mañana = today()+1;" , for a suitable implementation of PROC
today(VOID): STRING has some attraction too
BTW, the file should state that all characters, worthy and unworthy, are
allowed in strings and comments. Perhaps it already does --- I haven't
checked. Mea culpa. What about in PRAGMATs?
Paul
More information about the Algol68
mailing list