Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/17/84; site opus.UUCP
Path: utzoo!utcsrgv!garfield!philabs!cmcl2!seismo!hao!cires!nbires!opus!rcd
From: rcd@opus.UUCP (Dick Dunn)
Newsgroups: net.unix-wizards,net.lang
Subject: Re:  smart compilers
Message-ID: <1001@opus.UUCP>
Date: Mon, 24-Dec-84 17:54:17 EST
Article-I.D.: opus.1001
Posted: Mon Dec 24 17:54:17 1984
Date-Received: Wed, 26-Dec-84 04:41:34 EST
References: <6599@brl-tgr.ARPA> <979@opus.UUCP> <6831@watdaisy.UUCP>
Organization: NBI,Inc, Boulder CO
Lines: 17

>...It is usually necessary for optimizations to break certain obscure points
> that conform to the language definition, e.g. which order STATEMENTS are
> executed in so that code can be moved out of loops.  Many useful optimizations
> cannot be done when more than 99.9% of the language definition must be
> respected.

Or, rephrasing the above ">", sometimes you get:

	The optimization was a success, but the program died.

I can't see this is anything other than a conflict resulting from either a
bad (or simply incomplete) language definition or a broken compiler.  But
then I've always had trouble dealing with compromises between efficiency
and correctness.
-- 
Dick Dunn	{hao,ucbvax,allegra}!nbires!rcd		(303)444-5710 x3086
   ...Nothing left to do but smile, smile, smile.