shellshlanguage-designalgol68

Naming: BEGIN ~ END vs LIVE ~ EVIL block structured languages


Curly Bracket languages are well known: (wikipedia)

Other programming languages can have BEGIN ~ END vs LIVE ~ EVIL block structuring. eg

A) BEGIN ~ END, DO ~ END, IF ~ END IF - examples: Ada, Modula, Pascal, PL/I, Ruby etc...

B) IF ~ FI, DO ~ OD, CASE ~ IN ~ OUT ~ ESAC - examples: Action!, ALGOL 68, Bourne shell, Cool, ELLA, Guarded Command Language, Lucid, Opal, Maple, Mary, Polyglot, Promela etc...

What are the official (or-else reasonable) names to differentiate the between the two different styles A) & B) of block structuring ?


Solution

  • As a pun on "reversed" I suggest: IF ~ FI, DO ~ OD, CASE ~ IN ~ OUT ~ ESAC as "reverent" block structuring.

    The first case of "reverent" block structuring might be found in http://ALGOL Bulletin - ISSN: 0084-6198, however I cannot find the originators name or an exact posting.

    Hence also: BEGIN ~ END, DO ~ END, IF ~ END IF as "irreverent" block structuring.

    An example of a technical palindrome that appears much earlier (and outside of computing) would be Lord Kelvin's Mho (℧).