TY - JOUR
T1 - Order-of-demand analysis for lazy languages
AU - Park, Young G.
AU - Goldberg, Benjamin
N1 - Funding Information:
* 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 (KCR-8909634), DARPA/ONR (#NOOOl4-90-1110) and NSERC (#OGPOl38415). * Corresponding author. Email: [email protected]. ’ Email: [email protected].
PY - 1995/9/29
Y1 - 1995/9/29
N2 - 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.
AB - 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.
KW - Applicative programming
KW - Compilers
KW - Design of algorithms
KW - Formal semantics
KW - Functional programming
KW - Language processors
KW - Programming languages
UR - http://www.scopus.com/inward/record.url?scp=28144436737&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=28144436737&partnerID=8YFLogxK
U2 - 10.1016/0020-0190(95)00120-2
DO - 10.1016/0020-0190(95)00120-2
M3 - Article
AN - SCOPUS:28144436737
SN - 0020-0190
VL - 55
SP - 343
EP - 348
JO - Information Processing Letters
JF - Information Processing Letters
IS - 6
ER -