Operational Theories of Improvement in Functional Languages (Extended Abstract). Sands, D. In Proceedings of the Fourth Glasgow Workshop on Functional Programming, of Workshops in Computing Series, pages 298--311, Skye, August, 1991. Springer-Verlag .
Operational Theories of Improvement in Functional Languages (Extended Abstract) [pdf]Paper  abstract   bibtex   
In this paper we address the technical foundations essential to the aim of providing a semantic basis for the formal treatment of relative efficiency in functional languages. For a general class of ``functional'' computation systems, we define a family of improvement preorderings which express, in a variety of ways, when one expression is more efficient than another. The main results of this paper build on Howe's study of equality in lazy computation systems, and are concerned with the question of when a given improvement relation is subject to the usual forms of (in)equational reasoning (so that, for example, we can improve an expression by improving any sub-expression). For a general class of computation systems we establish conditions on the operators of the language which guarantee that an improvement relation is a precongruence. In addition, for a particular higher-order nonstrict functional language, we show that any improvement relation which satisfies a simple monotonicity condition with respect to the rules of the operational semantics has the desired congruence property.

Downloads: 0