Algol 68 stropping
Mohammad-Reza Nabipoor
mnabipoor@gnu.org
Sun Jan 4 02:52:34 GMT 2026
Hi.
On Sun, Oct 26, 2025 at 04:08:06PM +0000, John Maybury wrote:
> Hi,
>
> thanks for the reply.
>
> > Ok, so if I undersand your description, in Initial stropping
>
> > - A tag is written as a sequence of {one or more} taggles. The
> > taggles may be separated by typographical display features.
>
> > - A taggle is written by writing, in order, the corresponding worthy
> > letters, and digits optionally followed by an underscore. Each taggle
> > shall start with a lower-case letter.
>
> > Correct?
>
> Yes, the difference between Initial stropping and UPPER/SUPPER is that upper-case letters are allowed in an Initial-stropping tag,
> provided they are not the first character of a taggle.
>
> If an Initial stropping tag consists of only one taggle, then bold words and tags have the same form,
> except a bold word starts with an upper-case letter and a tag starts with a lower-casee letter.
> The symmetry seemed appeaiing to me as does the possibility of camel case tags.
>
> Being able to put insignificant spaces in tags is a feature that few languages have, AFAIK.
> Allowing snake case and camel case would then cover the popular styles for identifiers in other languages.
> Also continuing to allow insignificant spaces would probably be a plus for Algol 68.
>
> On the other hand, if we want the reserved words to be fully lower-case (as with SUPPER stropping),
> tags would have to consist of a single taggle (also as with SUPPER stropping).
> Which was why I mentioned a "res Initial stropping", though I believe the GNU MARST implementation of Algol 60
> uses reserved words and allows insignificant spaces in identifiers.
I support this idea.
If I understood it correctly, first letter decides whether something is bold or not.
And to make things more natural to modern reader (programmer), we can reserve
begin/end/for/do/od/if/fi/... on top of Begin/End/For/Do/Od/If/Fi/... symbols.
I'd be happy to be able to define constants like this:
int kConstant1 = 1,
kAnotherConstant = 2;
as using SUPPER stropping I cannot do this (I have to do `int k_constant1 = 1, ...;').
Plus being able to have "typographical display features" in identifiers is
very Algolic :)
More information about the Algol68
mailing list