Elsevier

Information Processing Letters

Volume 55, Issue 6, 29 September 1995, Pages 343-348
Information Processing Letters

Order-of-demand analysis for lazy languages

https://doi.org/10.1016/0020-0190(95)00120-2Get rights and content
Under a Creative Commons license
open archive

Abstract

This paper presents a method for statically inferring a range of information including strictness, evaluation-order, and evaluation-status information in a higher-order polymorphically-typed lazy functional language. This method is based on a compile-time analysis called order-of-demand analysis, which provides safe information about the order in which the values of bound variables are demanded. The time complexity of the analysis is substantially less than that of other approaches such as path analysis [5] and compositional analysis [7] and comparable to that of strictness analysis.

Keywords

Applicative programming
Compilers
Design of algorithms
Functional programming
Formal semantics
Language processors
Programming languages

Cited by (0)

A preliminary version of this paper appeared in the Proceedings of the Workshop on Static Analysis, 1992. This research was supported in part by NSF (#CCR-8909634), DARPA/ONR (#N00014-90-1110) and NSERC (#OGP0138415).