Xref: utzoo comp.lang.misc:5360 comp.compilers:1138 Path: 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 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.