From mboxrd@z Thu Jan 1 00:00:00 1970 From: brantleycoile@me.com (Brantley Coile) Date: Wed, 09 Mar 2016 06:29:28 -0500 Subject: [TUHS] Documentation on B language? In-Reply-To: <8737rz6h6h.fsf@gmail.com> References: <201603081301.u28D1wGP104789@tahoe.cs.Dartmouth.EDU> <20160308180019.GD32247@mercury.ccil.org> <8737rz6h6h.fsf@gmail.com> Message-ID: Note that the novelty isn't that it adds or subtracts one with storage, but that it can be used in a more complex expression, along with a pre- and post-evaluation semantics. Also, Pascal post dates B. I offer this just as a clarification of the facts. I greatly admire both the languages of Thompson and Ritchie and those of Prof Wirth. I write a good bit of C code but all things being equal I would be programming in Oberon. But B's ++ and -- operators seem to be unique. Sent from my iPad > On Mar 9, 2016, at 6:09 AM, Christian Neukirchen wrote: > > John Cowan writes: > >> Doug McIlroy scripsit: >> >>> Various aspects of the language were borrowed from PL/I, BCPL and Algol >>> 68. ++ and -- were novel operators. The reversal of Algol's assignment >>> operators (e.g. -= became =-) was eventually repealed in C. >> >> Algol 68, like Algol 60 and Pascal, used := (pronounced "becomes") for >> assignment, and the Algol 68 assignment operators were spelled :+=, >> :-=, etc. (pronounced "plus and becomes", "minus and becomes", etc.) > > My copy of the Algol 68 report says "+:=" and "-:=", so it is > questionable why Ken reversed them, especially since the ambiguity > looks obvious. > >> Pre-increment operators were already known in Lisp 1.5 long before; >> they are now spelled incf and decf in Common Lisp. > > AFAICS Algol didn't have them, but every Pascal I know had inc and dec. > > -- > Christian Neukirchen http://chneukirchen.org