Related articles |
---|
First language with conditional assignment? compilers@is-not-my.name (2011-03-03) |
Re: First language with conditional assignment? nmh@t3x.org (Nils M Holm) (2011-03-04) |
Re: First language with conditional assignment? gah@ugcs.caltech.edu (glen herrmannsfeldt) (2011-03-04) |
Re: First language with conditional assignment? cr88192@hotmail.com (BGB) (2011-03-04) |
Re: First language with conditional assignment? kym@kymhorsell.com (2011-03-05) |
Re: First language with conditional assignment? robin51@dodo.com.au (robin) (2011-03-05) |
Re: First language with conditional assignment? news@cuboid.co.uk (Andy Walker) (2011-03-05) |
Re: First language with conditional assignment? monnier@iro.umontreal.ca (Stefan Monnier) (2011-03-05) |
Re: First language with conditional assignment? derekrss@yahoo.ca (Derek) (2011-03-06) |
[9 later articles] |
From: | glen herrmannsfeldt <gah@ugcs.caltech.edu> |
Newsgroups: | comp.compilers |
Date: | Fri, 4 Mar 2011 20:50:53 +0000 (UTC) |
Organization: | A noiseless patient Spider |
References: | 11-03-006 |
Keywords: | syntax, history |
Posted-Date: | 04 Mar 2011 23:54:51 EST |
compilers@is-not-my.name wrote:
> Does anyone know what the earliest languages supporting conditional
> assignment were? Although the construct is useful I don't like the syntax in
> C-like languages. I am curious if there were earlier examples and what the
> syntax was.
ALGOL, I believe ALGOL 60 (I don't know the versions very well)
has the "conditional arithmetic expression" as:
A := IF I<0 THEN R ELSE 3;
That is the example from Baumann, et. al, "Introduction
to ALGOL" from 1964, I believe describing ALGOL 60.
I don't know when it originated in ALGOL.
For my undergrad compiler class we used ALGOL, or DEC's
version of it, on the PDP-10, and I do remember using
some of conditional expressions.
(Note that the term "conditional assignment" might be used
to describe the C construct if(a) b=c; and that many RISC
architectures have a "conditional load" instruction that allows
doing conditional operations without branching.)
-- glen
Return to the
comp.compilers page.
Search the
comp.compilers archives again.