Abstract
Binding-time analyses based on flow analysis have been presented by Bondorf, Consel, Bondorf and Jørgensen, and Schwartzbach and the present author. The analyses are formulated in radically different ways, making comparison non-trivial.
In this paper we demonstrate how to compare such analyses. We prove that the first and the fourth analyses can be specified by constraint systems of a particular form, enabling direct comparison. As corollaries, we get that Bondorf's analysis is more conservative than ours, that both analyses can be performed in cubic time, and that the core of Bondorf's analysis is correct. Our comparison is of analyses that apply to the pure λ-calculus.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Download to read the full chapter text
Chapter PDF
References
Henk P. Barendregt. The Lambda Calculus: Its Syntax and Semantics. North-Holland, 1981.
Anders Bondorf. Automatic autoprojection of higher order recursive equations. Science of Computer Programming, 17(1–3):3–34, December 1991.
Anders Bondorf and Jesper Jørgensen. Efficient analyses for realistic off-line partial evaluation. Journal of Functional Programming, 3(3):315–346, 1993.
Charles Consel. Binding time analysis for higher order untyped functional languages. In Proc. ACM Conference on Lisp and Functional Programming, pages 264–272, 1990.
Carsten K. Gomard. Partial type inference for untyped functional programs. In Proc. ACM Conference on Lisp and Functional Programming, pages 282–287, 1990.
Hanne R. Nielson and Flemming Nielson. Automatic binding time analysis for a typed λ-calculus. Science of Computer Programming, 10:139–176, 1988.
Jens Palsberg. Closure analysis in constraint form. ACM Transactions on Programming Languages and Systems. To appear. Also in Proc. CAAP'94, Colloquium on Trees in Algebra and Programming, Springer-Verlag (LNCS 787), pages 276–290, Edinburgh, Scotland, April 1994.
Jens Palsberg. Correctness of binding-time analysis. Journal of Functional Programming, 3(3):347–363, 1993.
Jens Palsberg and Michael I. Schwartzbach. Safety analysis versus type inference. Information and Computation. To appear.
Jens Palsberg and Michael I. Schwartzbach. Safety analysis versus type inference for partial types. Information Processing Letters, 43:175–180, 1992.
Jens Palsberg and Michael I. Schwartzbach. Binding-time analysis: Abstract interpretation versus type inference. In Proc. ICCL'94, Fifth IEEE International Conference on Computer Languages, pages 289–298, Toulouse, France, May 1994.
Jens Palsberg and Michael I. Schwartzbach. Object-Oriented Type Systems. John Wiley & Sons, 1994.
Peter Sestoft. Replacing function parameters by global variables. Master's thesis, DIKU, University of Copenhagen, September 1989.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Palsberg, J. (1995). Comparing flow-based binding-time analyses. In: Mosses, P.D., Nielsen, M., Schwartzbach, M.I. (eds) TAPSOFT '95: Theory and Practice of Software Development. CAAP 1995. Lecture Notes in Computer Science, vol 915. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-59293-8_220
Download citation
DOI: https://doi.org/10.1007/3-540-59293-8_220
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-59293-8
Online ISBN: 978-3-540-49233-7
eBook Packages: Springer Book Archive