Article View: comp.lang.misc
Article #1493Re: Closing keywords (was Re: Algol, and language design)
From: Richard A. O'Keefe
Date: Tue, 14 Aug 1990 16:36
Date: Tue, 14 Aug 1990 16:36
33 lines
2353 bytes
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-senderReferences:
<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