Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: Include language bindings? Re: Draft Standard Text, V02.1



Good argument.  There certainly are more dangers of incorrect interpretations for intervals than for floating point.

George
On Mar 15, 2010, at 11:34 AM, Dan Zuras Intervals wrote:

>> Date: Mon, 15 Mar 2010 10:07:10 -0500
>> From: "R. Baker Kearfott" <rbk@xxxxxxxxxxxxx>
>> To: Rudnei Cunha <rudnei.cunha@xxxxxxxxx>
>> CC: "Corliss, George" <george.corliss@xxxxxxxxxxxxx>,
>>        John Pryce <j.d.pryce@xxxxxxxxxxxx>,
>>        stds-1788 <stds-1788@xxxxxxxxxxxxxxxxx>
>> Subject: Re: Include language bindings? Re: Draft Standard Text, V02.1
>> 
>> That's a good question.
>> 
>> Looking at IEEE 754-1985, one sees that it was a decade or more
>> after the hardware standard was in use before there were language
>> bindings.  Can including language bindings help the process?
>> 
>> Baker
>> 
> 
> 	Emphatically yes.
> 
> 	It was more than 2 decades that 754 lived without
> 	standard language bindings & during that time a lot
> 	of compilers found 'imaginative' ways to interpret
> 	the meaning of the seemingly most obvious things,
> 	like '+' & '*'.
> 
> 	Some of those interpretations were just 'different'.
> 
> 	Some were flat out wrong.
> 
> 	But the main problem became that the programmer
> 	could not know what operations the source text was
> 	going to map onto from:
> 
> 	- one manufacturer to another,
> 	- one machine to another within a manufacturer,
> 	- one version of the compiler to another on a given
> 	machine,
> 	- one optimization level to another within a given
> 	compiler,
> 	- one position within the source to another within
> 	a given optimization level,
> 	- one spelling of a variable to another at the same
> 	position, & even (in later years)
> 	- one execution of a loop to another on a parallel
> 	machine (in any of several different ways both
> 	deterministic & non-deterministic).
> 
> 	In all cases the compiler claimed 'license' to use
> 	these variations due to the lack of language bindings
> 	in 754-1985.
> 
> 	In almost all cases they bragged about the 'innovation'
> 	on the grounds that it made some benchmark faster.  In
> 	the remaining cases they denied that they happened or
> 	that the variation could cause any problem the user
> 	might notice in spite of them having BEEN noticed.
> 
> 	These problems ranged from mildly irritating to so bad
> 	as to exclude certain algorithims from being used on
> 	grounds they could not be known to work every time in
> 	such a context.
> 
> 	These variations could be argued to be 'improvements'
> 	to 754-1985.
> 
> 	But the unpredictable nature of them would be death to
> 	a standard which seeks universal acceptance of the
> 	correctness of its results such as 1788.
> 
> 	So 754-2007 included standard language bindings.
> 	Unfortunately, the previous 2 decades of imaginative
> 	improvements made by the various compilers in the world
> 	prevented us from making them mandatory or even default.
> 	The best we could do after all that time was to offer
> 	them as an option to programmers who wanted it.
> 
> 	1788 must not make that mistake.
> 
> 	By its very nature the programmer must KNOW what is
> 	being done with the source as it is written.
> 
> 	This does not preclude the various clever algebraic
> 	optimizations that have been proposed.  Indeed, such
> 	things should be available to the programmer.  But the
> 	programmer must know that they are being done & WHAT is
> 	being done.  This implies the programmer must ask for
> 	them.
> 
> 	Therefore, 1788 must (IMHO):
> 	- specify standard language bindings,
> 	- make those bindings default,
> 	- specify standard optimizations, &
> 	- make them available to the programmer in standard ways.
> 
> 	The various manufacturers & compiler writers can STILL
> 	innovate in ways that do not violate the basic standard
> 	& offer those innovations to differentiate them from their
> 	competitors.  So innovation is not stifled & commerce can
> 	proceed apace.
> 
> 	But not at the cost of transparency & correctness.
> 
> 	Never that for 1788.
> 
> 
> 	OK, I've shot my bolt. :-)
> 	Enough grousing from the 754 camp.
> 	Carry on folks.
> 	Yours,
> 
> 				Dan

Dr. George F. Corliss
Electrical and Computer Engineering
Marquette University
P.O. Box 1881
1515 W. Wisconsin Ave
Milwaukee WI 53201-1881 USA
414-288-6599; GasDay: 288-4400; Fax 288-5579
George.Corliss@xxxxxxxxxxxxx
www.eng.mu.edu/corlissg