Path: utzoo!utgpu!water!watmath!clyde!rutgers!gatech!hubcap!ncrcae!ncr-sd!hp-sdd!hplabs!hpcea!hpfcdc!hpisla!wolpert From: wolpert@hpisla.HP.COM (David Wolpert) Newsgroups: comp.lang.misc Subject: Re: History of := (was: == vs =) Message-ID: <5410001@hpisla.HP.COM> Date: 27 Jan 88 17:09:17 GMT References: <2337@haddock.ISC.COM> Organization: HP Instrument Systems Lab - Loveland, CO Lines: 54 >>legal to have an assigment as a term in an expression, there had to >>be a way to distinguish between equality and assignment. This is the >Algol-60 does not allow an assignment within an expression, and there >would be no ambiguity using '=' for both assignment and equality. This >is because the designers of Algol-60 had the good sense to make it a >statement language. They then used for equality the only reasonable Algol DOES allow assignment as a term in an expression. At least, Burroughs XALGOL did, and I can't imagine Algol without it. Proof by quoting excerpt from manual: ::= | | | ::= | ELSE | | ::= | ::= | * ::= | | | ( ) | | | | -----here--it--is----- I'm (almost) positive that this was a standard feature of Algol, and not a Burroughs extention. Wish I had a copy of the "plain" language definition to quote from. Actually, there were only two things I missed when I changed from Algol to Pascal: assignment inside expressions, and OWN variables (and, maybe a little, being able to hop into GTL/pseudo-Lisp). _ _ / \/ \ David Wolpert (303) 667-5000 x3533 /_ __ HEWLETT \ / Measurement Systems Operation / / /_/ PACKARD \ / P O Box 301 - Loveland, CO 80539 / \/ wolpert%hpisla@hplabs.HP.COM ====================================================================== "Be joyful always; pray continually; give thanks in all circumstances" ps: I describe Algol as a "block" language; Pascal is closer to being a "statement" language, since it doesn't allow the programmer to nest blocks freely.