Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!caip!think!husc6!panda!genrad!decvax!tektronix!uw-beaver!ubc-vision!ubc-cs!ludemann From: ludemann@ubc-cs.UUCP Newsgroups: net.lang Subject: Re: Discussion on removing punctuation in programming languages Message-ID: <437@ubc-cs.UUCP> Date: Tue, 14-Oct-86 02:52:01 EDT Article-I.D.: ubc-cs.437 Posted: Tue Oct 14 02:52:01 1986 Date-Received: Fri, 17-Oct-86 08:10:10 EDT References: <7796DMB@PSUVMA> <21461@rochester.ARPA> Reply-To: ludemann@ubc-cs.UUCP (Peter Ludemann) Organization: UBC Department of Computer Science, Vancouver, B.C., Canada Lines: 29 Keywords: BCPL doesn't need punctuation You anti-punctuators might consider looking at the BCPL book (Strachey et al if I remember correctly). BCPL allows leaving out semicolons before end-of-line. If the last item on a line is an operator, then the statement is assumed to continue on the next line. Thus, a := b + c d := e a := b + c would be correct but a := b + c would be an error. So, the only use of semicolons would be something like: temp := a; a := b; b := temp; /* swap a and b */ (before anyone starts flaming about lvalues and rvalues, I know that this is NOT how it is written in BCPL) SASL (St. Andrews Static Language - Turner et al) has a method of avoiding punctuation by paying attention to indenting. I could look up the details if anyone is interested. Incidentally, a nice feature of BCPL is the ability to dynamically allocate a vector on the stack. (This feature is provided in 4.2bsd C by a function that is described as non-portable.) Also, the question was raised if any language allowed if a < b < c then ... and the answer is (of course) COBOL.