🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.misc
Article #1493

Re: Closing keywords (was Re: Algol, and language design)

#1493
From: Richard A. O'Keefe
Date: Tue, 14 Aug 1990 16:36
33 lines
2353 bytes
In article <1990Aug10.035630.764@esegue.segue.boston.ma.us>,  writes:
>     As far as the syntax is concerned, Modula deviates from its ancestor
>     Pascal in an essential respect: statement structures consistently 
>     follow a single guiding rule.  Every structured statement begins with
>     a keyword (uniquely identifying the kind of structure) and ends 
>     with a closing symbol.

The curious thing about this is that Pascal was designed at least in part
as a reaction *against* Algol 68, in which the "arms" of structured
statements were "serial clauses" and each structured statement had its own
kind of terminator.  Well, sort of.  You could always use ( and ), so

	begin s1; ...; sn end
	 => ( s1; ...; sn )
	if c1 then t1 elif c2 then t2 ... else f fi
      => ( c1  |   t1  |:  c2  |   t2 ...  |   f )
	case c in s1, s2, ..., sn out f esac
       =>  ( c |  s1, s2, ..., sn |   f )

though you couldn't use (..) for loops.  So Modula syntax was a reversion
to the Algol 68 approach.

Does anyone know where the idea came from in Algol 68?  Did Wirth ever
say why Pascal didn't imitate _that_ aspect of its distinguished predecessor?
-- 
[It is my impression that Algol68 sprang more or less whole from Van
Wijngaarden's (I hope that's right) brain, but I haven't dug into its
history in any detail.  There is lots of great stuff in Algol68 that is
slowly being rediscovered; any student of programming languages should look
at it. -John]
-- 
Send compilers articles to compilers@esegue.segue.boston.ma.us
{ima | spdcc | world}!esegue.  Meta-mail to compilers-request@esegue.
Technical Details
Message-ID: <1990Aug14.163636.2160@esegue.segue.boston.ma.us>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!snorkelwacker!spdcc!ima!esegue!compilers-sender
References: <25630@cs.yale.edu> <58091@lanl.gov> <1990Aug10.035630.764@esegue.segue.boston.ma.us>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!snorkelwacker!spdcc!ima!esegue!compilers-sender
From: ok@goanna.cs.rmit.OZ.AU (Richard A. O'Keefe)
Newsgroups: comp.lang.misc,comp.compilers
Subject: Re: Closing keywords (was Re: Algol, and language design)
Keywords: Pascal, design, Algol68
Message-ID: <1990Aug14.163636.2160@esegue.segue.boston.ma.us>
Date: 14 Aug 90 16:36:36 GMT
References: <25630@cs.yale.edu> <58091@lanl.gov> <1990Aug10.035630.764@esegue.segue.boston.ma.us>
Sender: compilers-sender@esegue.segue.boston.ma.us
Reply-To: ok@goanna.cs.rmit.OZ.AU (Richard A. O'Keefe)
Organization: Comp Sci, RMIT, Melbourne, Australia
Lines: 33
Approved: compilers@esegue.segue.boston.ma.us