Abstract
As part of its revision of ANS PL/I, American National Standards Committee X3J1 is considering extensions like those described here to aid in the development of high-quality portable mathematical software.The new features include environmental enquiry functions, generalization of "restricted expressions" (compile-time expressions), liberalization of the contexts of restricted expressions, a named-literal declaration type, explicit, precision specification for constants, and a pragmatic statement for expressing conditions that an implementation must satisfy for acceptable compilation. Used together, these features will give numerical analysts access to properties of an implementation's floating-point arithmetic in exactly the ways required to ease the burden of tailoring a program's precision specifications to new environments. In many cases it will be possible to write PL/I programs that are completely self-adapting to their host environment.Effective definition of the environmental enquiry functions will require the incorporation of an explicitly parameterized model of floating-point arithmetic; the environmental enquiry functions and the results of arithmetic operations will then be consistently defined in terms of the same parameters. If an appropriate model (to be described in a future paper) is adopted by the Committee and properly integrated into the Standard, a significant advantage will be offered to numerical analysts: they will be able to state and prove theorems about their programs' error bounds by appealing directly to the Standard.In addition to describing the proposed extensions, this paper presents a careful justification and a detailed example of their intended use.None of these features has yet been adopted by X3J1. The Committee is interested in the reactions of the mathematical software community to these ideas and requests that comments be sent to the author.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have