ACM Home Page
Please provide us with feedback. Feedback
Closure analysis in constraint form
Full text PdfPdf (1.03 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 17 ,  Issue 1  (January 1995) table of contents
Pages: 47 - 62  
Year of Publication: 1995
ISSN:0164-0925
Author
Jens Palsberg  Aarhus Univ., Aarhus, Denmark
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 43,   Citation Count: 26
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/200994.201001
What is a DOI?

ABSTRACT

Flow analyses of untyped higher-order functional programs have in the past decade been presented by Ayers, Bondorf, Consel, Jones, Heintze, Sestoft, Shivers, Steckler, Wand, and others. The analyses are usually defined as abstract interpretations and are used for rather different tasks such as type recovery, globalization, and binding-time analysis. The analyses all contain a global closure analysis that computes information about higher-order control-flow. Sestoft proved in 1989 and 1991 that closure analysis is correct with respect to call-by-name and call-by-value semantics, but it remained open if correctness holds for arbitrary beta-reduction.This article answers the question; both closure analysis and others are correct with respect to arbitrary beta-reduction. We also prove a subject-reduction result: closure information is still valid after beta-reduction. The core of our proof technique is to define closure analysis using a constraint system. The constraint system is equivalent to the closure analysis of Bondorf, which in turn is based on Sestoft's.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
AYERS, A. 1992. Efficient closure analysis with reachability. In Proceedzngs of WSA '92, Analyse Statique. IRISA, Rennes, France, 126-134.
 
3
BARENDREGT, H. P. 1981. The Lambda Calculus: Its Syntax and Semantics. North-HoIland, Amsterdam.
 
4
BONDORF, A. 1993. Similix 5.0 Manual. DIKU, University of Copenhagen, Denmark. Included in Similix 5.0 distribution.
 
5
 
6
 
7
BONDORF, A. AND JOaGENSEN, J. 1993. Efficient analyses for realistic off-line partial evaluation. J. Func~wnal Program. 3, 3, 315-346.
8
 
9
GIANNINI, P. AND ROCCA, S. R. D. 1988. Characterization of typings in polymorphic type discipline. In Proceedings of LICS'88, 3rd Annual Symposium on Logic in Computer Science. IEEE, New York, 61-70.
10
 
11
 
12
 
13
PALSBERG, J. 1993. Correctness of binding-time analysis. J. Functional Program. 3, 3,347-363.
 
14
PALSBERG, J. AND SCHWARTZBACH, M. I. 1994a. Binding-time analysis: Abstract interpretation versus type inference. In Proceedzngs of ICCL '9~, 5th IEEE International Conference on Computer Languages. IEEE, New York, 289-298.
 
15
 
16
 
17
18
 
19
SESTOFT, P. 1991. Analysis and efficient implementation of functional programs. Ph.D. thesis, DIKU, University of Copenhagen.
 
20
SESTOFT, P. 1989. Replacing function parameters by global variables. M.S. thesis, DIKU, University of Copenhagen.
 
21
SmvErtS, O. 1991a. Control-flow analysis of higher-order languages. Ph.D. thesis, CMU-CS- 91-145, Carnegie Mellon University, Pittsburgh, Pa.
 
22
SHIVERS~ O. 1991b. Data-flow analysis and type recovery in Scheme. In Topics in Advanced Language Implementation, P. Lee, Ed. MIT Press, Cambridge, Mass., 47-87.
23
24

CITED BY  26


REVIEW

"Pierre Jouvelot : Reviewer"

Closure analysis extends the classical algorithm that computes function call graphs to the realm of higher-order first-class functions. This analysis is important when optimization of such languages is called for, for instance when more...