Subject: Response to LIA-2
J3 discussed LIA-2 at its November meeting. J3 needs to focus its efforts on the revision of our Standard, and has not collectively invested the time necessary to make detailed suggestions and edits to this document. However, we make the following observations:
- As has been noted in the past, our procedures for Standardization are flawed. Once a project has been launched, there is no obvious way to stop it. It is our opinion that a "language independent" and "hardware independent" numerics standard is unhelpful. We urge the sponsoring body to focus on more tractable problems, and halt this project.
- If LIA-2 were to become a Standard, it is unlikely that future Fortran standards would be able to easily bind to the facility. Fortran consumers are accustomed to a great deal of stability, LIA-2 would require that most processors produce considerably different answers from what they do today. Invalidating existing code is generally not acceptable to the Fortran community.
- LIA-2 specifies on the order of a hundred new intrinsics that are not currently in any known Fortran processor implementation. The Fortran community has not expressed a collective interest in having these intrinsics. This committee notes that this would appear to be true for the other languages for which the LIA authors have provided illustrative text. This committee fails to see how a Standard which defines a plethora of new functions for which no commercially significant existing language provides support is suitable for Standardization. Also adding intrinsics has a tendency to invalidate existing code.
- We note that the reference to Fortran is to an obsolete (withdrawn) version of the standard. It is our understanding that ISO requires references to be to current revisions of the appropriate standards.
- This committee notes that there is already an ISO floating point standard (559) to which we have provided a binding (currently as a Technical Report, type 2). This support will be integrated into the next revision of the Fortran Standard, which is currently underway. We believe that tighter integration along these lines serves our community better than a LIA binding. There is also more support in our community for adding additional support for other technologies (e.g. Interval Arithmetic has been seriously worked on, but is not currently planned for any revision of the Standard) than for the facility described by LIA-2.
- Section 7, just after item (d) holds up clauses of the Fortran Standard as an example of how a Language Standard can (and should?) define permitted optimizations. However, in our experience this is not sufficient, specifically for the numerically careful programmers that we imagine LIA-2 is intended for and for performance oriented programmers as Fortran is intended for. We do not yet have edits for this part of our Standard, however, we note that this is viewed by some as a long-standing flaw in the Fortran Standard. It seems to us ill-advised to suggest that others copy this into their Standards.
We advise a no vote. It is hard for us to imagine a set of edits that would make this a Standard acceptable to our community.