nospam@somewhere.ia.us (Robert S. White) writes: > I _understood_ it in 1983. But right now in thinking about >it, I'll say that it would have been better from a code maintenance >point of view, that K&R had never thought of it as a convenient >typing shortcut. IMHO YMMV They didn't think of it, and it isn't a typing shortcut. Conditional expressions were, and remain, a common feature of many programming languages, going back to 1959. Perhaps K&R chose to retain them, given their conscious contrast with Multics, because they were aware of the horrible kluge PL/I (and Pascal) programmers used to emulate them: ord(x >= 0)*x + ord(not(x >= 0))*(-x) is a peculiarly horrible way to have to write if x >= 0 then x else -x fi. Don't you find something rather repulsive about having to use side effects just to select one of two values? Much the same argument was used to justify the absence of 'and then' and 'or else' from the original Pascal: they are "only convenient typing shortcuts for if statements". But they aren't, and the current Pascal standard includes them (spelled and_then and or_else, and still with the wrong precedence). -- John �neas Byron O'Keefe; 1921/02/04-1997/09/27; TLG,TLTA,BBTNOTL. Richard A. O'Keefe; RMIT Comp.Sci; http://www.cs.rmit.edu.au/%7Eok