Algol 68 stropping
Jose E. Marchesi
jemarch@gnu.org
Sat Oct 25 17:34:46 GMT 2025
Hello John.
Thanks for your email.
> I had a few thoughts regarding stropping.
>
> As noted in the description of SUPPER stropping, recent Algol 68
> implementations (and historic ones) have largely adopted UPPER
> stropping. UPPER stropping effectively makes Algol 68 case-sensitive
> and so using e.g., camel-case (currently very popular, I believe)
> impossible.
>
> SUPPER stropping allows camel-case bold words by defining a bold word
> as an upper-case letter followed by a possibly empty sequence of
> digits and upper or lower case letters, however camel-case tags are
> still precluded.
Yes, correct. In tags you ought to resort to separating the toggles
using _ characters.
> I would like to suggest "Initial stropping" for your consideration:
>
> The Initial stropping definition of a bold word is the same as that of
> SUPPER stropping, however a tag is defined as:
>
> a sequence of one or more sequences of: (a lower-case letter followed
> by a possibly empty sequence of digits or upper or lower case
> letters),
> separated by insignificant spaces, so:
> abcdef
> abc def
> abcDef
> aBC dEf
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?
> are all tags under Initial stropping (and are all the same tag), but
> abc Def is a tag followed by a bold word.
>
> Consider this hypothetical UPPER stropped program fragment:
>
> IF FLUIDCAPACITY holding tank < 0.5 THEN tank is too small FI
>
> With Initial stropping we can write:
>
> If FluidCapacity holdingTank < 0.5 Then tankIsTooSmall Fi
>
> Note, Initial stropping is almost fully backwards compatible with UPPER stropping, except for cases such as:
>
> IFaORbTHENcELSEdFI
>
> which is a choice-using-boolean (hope I got that right...) in UPPER
> stropping, but a (possibly unlikely) bold word in Initial stropping.
>
>
> If we want to allow If, Else, Int, Real, etc. to be fully lowercase,
> "res Initial stropping" perhaps, we would need to disallow
> insignificant spaces in tags and define a tag as: a lower-case letter
> followed by a possibly empty sequence of digits or upper or lower case
> letters. (pleasingly symmetrical with a bold word ?)
>
> and we can write:
>
> if FluidCapacity holdingTank < 0.5 then tankIsTooSmall fi
>
> I hope this isn't TL;DR and thanks for reading this far!
>
>
> Regards,
> John Maybury
More information about the Algol68
mailing list