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