Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!cuae2!ltuxa!we53!sw013b!dj3b1!killer!ndmce!pollux!infotel!ut-ngp!ut-sally!seismo!think!nike!ucbcad!faustus From: faustus@ucbcad.BERKELEY.EDU@ndmce.uucp (Wayne A. Christopher) Newsgroups: net.lang Subject: Re: ReExplanation of (x Date: Fri, 17-Oct-86 17:09:43 EDT Article-I.D.: ndmce.341 Posted: Fri Oct 17 17:09:43 1986 Date-Received: Tue, 21-Oct-86 05:29:36 EDT References: <7871DMB@PSUVMA> Sender: news@ndmce.uucp Organization: CAD Group, U.C. Berkeley Lines: 15 In article <7871DMB@PSUVMA>, dmb@psuvm.bitnet.UUCP writes: > Sorry I guess the question wasn't which languages support it, but why > most of the major ones don't? I think it is a matter of clean expression semantics -- 'x < y' has a value which is a boolean, and so '(x < y) < z' doesn't mean what it should mean. Another (tertiary) operator would do the job, as would #define between(x, y, z) (((x) < (y)) && ((y) < (z))) but I imagine that for the languages that do allow x < y < z, a large reason why they aren't 'major' is that they are careless of semantic clarity and orthagonality. Wayne