LIA-1

Stu Anderson 5-3595 uunet!espresso.boeing.com!sla
Thu Sep 24 15:45:52 PDT 1992


I have been writing mathematical software for over 30 years.  For the last 14 
years, I have been writing portable mathematical software.  I believe that 
LIA-1 should be rejected because it does not meet its stated goal (of making 
my job easier). 

LIA-1 contains three major parts: hardware behavior, notification 
requirements upon error, and vendor requirements for documentation of the 
first two parts.

There are many technical objections to the first two parts.  Others have 
stated them and I am in general agreement--I will not echo them here.  Note, 
however, that I do not object to LIA-1 permitting VAXen and rejecting Crays.  
The marketplace will decide those issues. 

I have an additional (philosophical) objection based on the introduction to 
LIA-1: 

   The first goal of this International Standard is to enhance the portability 
   of numeric programs across a wide range of numeric architectures.  The 
   focus is on portability of single language programs across diverse 
   platforms. 

This is a laudable goal, but one that LIA-1 does not meet.  Portable programs 
require standardized code and this comes from language standards (de facto or 
formal).  Descriptive arithmetic standards, such as LIA-1, whose features are 
not supported by language standards, do not contribute to portability.  
Prescriptive arithmetic standards, such as ANSI/IEEE 754 can contribute to 
portability, but only on fully-conforming processors. 

Since the need for IEEE support is enormous, de facto standards for such 
architectures are likely.  Thus, something like the Numerical C Extensions 
Group (NCEG, X3J11.1) IEEE features will be usable long before 
standardization.  In some cases, direct compiler support will exist.  In 
others, public-domain include files will be a stopgap measure.

With regard to formal language standards, LIA-1 is still an ISO committee 
draft.  It will be years, if ever, before it becomes an international 
standard.  It will then be additional years, if ever, before its 
recommendations become formalized in programming language standards. 

But, the floating-point marketplace will not stand still.  By the time that 
any language standard supports LIA-1, engineering/scientific computations are 
likely to involve widespread use of IEEE and "sort-of-IEEE" hardware, 
massively-parallel computers, massively-parallel vector-computers, and even 
massively-distributed computations.  ("Sort-of-IEEE" architectures have as 
much right to existence as the "approximate addition" of LIA-1.) 

Thus, LIA-1 will likely be as successful as the ISO/ANSI standard for the 
programming language Basic.  (When did you last see a vendor brag about 
supporting ANSI Basic?)  Improvements to the Basic language were created so 
fast that the standards committee was left in the dust. 

Can LIA-1 be saved?  Yes, I think that the documentation requirements imposed 
on vendors could be very useful.  Therefore, I would suggest restricting LIA-1 
to a documentation standard. 

--Stu Anderson

-------------------------------------------------------------------------
Stuart L. Anderson -- Boeing Computer Services -- slaaespresso.boeing.com




More information about the Numeric-interest mailing list