Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!think!nike!ucbcad!faustus From: faustus@ucbcad.BERKELEY.EDU (Wayne A. Christopher) Newsgroups: net.lang Subject: Re: ReExplanation of (x Date: Wed, 15-Oct-86 16:41:49 EDT Article-I.D.: ucbcad.1091 Posted: Wed Oct 15 16:41:49 1986 Date-Received: Wed, 15-Oct-86 21:53:22 EDT References: <7871DMB@PSUVMA> 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