Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!rutgers!uwvax!oddjob!mimsy!chris From: chris@mimsy.UUCP (Chris Torek) Newsgroups: comp.arch Subject: Semantics (was Software Distribution) Message-ID: <13889@mimsy.UUCP> Date: 6 Oct 88 10:18:52 GMT References: <634@eiger.iis.UUCP> <993@esunix.UUCP> Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Lines: 26 In article <993@esunix.UUCP> bpendlet@esunix.UUCP (Bob Pendleton) writes: >... I'm in favor of defining the >behavior of every operator in a language on all of its operand set. Why? >Since NULL can be stored in a pointer, the actions of all pointer >operators when applied to NULL should, in my opinion, be defined. I disagree. In particular, with regard to the more general statement, if we can improve the performance of a language on existing architectures by explicitly leaving certain semantics undefined, should we do so? The argumentam [? ablative case anyway] pro is simple: programs run X% faster. The argumentam con appears to be that programmers will use the construct anyway. So what? Those programs are then by definition not portable and may be considered just so many random bits: worthless. It is up to the programmer, and the buyer of programs, to make sure that programs in this language do not depend on undefined semantics. Just because I can use a knife as a screwdriver does not mean that all knives should also be screwdrivers. . . . -- In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7163) Domain: chris@mimsy.umd.edu Path: uunet!mimsy!chris