On Fri, Jul 12, 2024 at 1:03 PM Stuff Received <stuff@riddermarkfarm.ca> wrote:

I recall one place that used macros that were hundreds of lines long.
They were a nightmare to maintain as they were so rigid -- not the right
way write macros.

DEC BLISS has the most powerful macro facility that I've ever seen in any programming language.  Ward Clark of DEC's Development Methods and Software Tools Group wrote a set of macros called "Portable BLISS"  that provided a uniform means to access basic operating system services such as sequential file I/O and heap memory management.  There were Portable BLISS implementations for much of the vast zoo of DEC operating systems (RSX-11, RSTS, RT-11, TOPS-10, TOPS-20, VMS).  Some of the Portable BLISS macros were over a thousand lines long.  They were all obscure and hard to maintain.

Unix users will be familiar with the Obfuscated C Contest.  Within DEC Engineering there was an Obfuscated BLISS Contest one year.  The winner was Stan Rabinowitz, who used macros to produce a text that looked nothing like BLISS syntax.  Stan said it would compile cleanly except for one semantic error and challenged us to figure out what that was.  It turned out to be an illegal uplevel reference.

-Paul W.