Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!hplabs!otter.hpl.hp.com!hpltoad!cdollin!kers From: kers@hplb.hpl.hp.com (Chris Dollin) Newsgroups: comp.lang.misc Subject: Re: improve language by dropping ; Message-ID: Date: 20 Feb 91 10:03:19 GMT References: <8507.27b91f9e@jetson.uh.edu> <329@smds.UUCP> <1991Feb18.140346.8896@jarvis.csri.toronto.edu> <943@creatures.cs.vt.edu> Sender: news@hplb.hpl.hp.com (Usenet News Administrator) Organization: Hewlett-Packard Laboratories, Bristol, UK. Lines: 30 In-Reply-To: lavinus@csgrad.cs.vt.edu's message of 19 Feb 91 00:03:51 GMT Nntp-Posting-Host: cdollin.hpl.hp.com There's been lots of comments about to-semi-or-not-to-semi, including: lavinus@csgrad.cs.vt.edu: There's a reason for the semicolon that seems to be missed here. Yes, as several of you have pointed out, it is perfectly feasible to define a language which requires *no* end-of-statement separators - no semicolons, end-of-line's, or anything. One can even drop the semicolons from Pascal pretty easily. But.. this assumes that a compiler for this language is always given correct programs. The semicolons are there so that if the compiler hits an error, and gets really confused, it may easily find the end of the statement and recover to continue parsing the program. I implemented a semicolon-free language (it happened to be a "real-time blackboard system" language). The compiler never seemed to have any problems finding the end of statements and recovering; neither did the programmer. The only usability issue we noticed was that where a statement was incomplete (but not visibly so) and was followed by a long comment, the compiler would object at the first token following the comment, rather than at the non-existant semicolon after the incomplete statement. This seemed to me a reasonable trade; the programmer *never* made trivial semicolon errors, and semicolon errors seem to occur with monotonous regularity in Pascal or C. -- Regards, Kers. | "You're better off not dreaming of the things to come; Caravan: | Dreams are always ending far too soon."