Abstract
In this paper we study programs written in a purely functional language with Data Types. We introduce a class of redundant code, the minimum information code, consisting either of “dead” code (code we may avoid evaluating), or of code whose “useful part” is constant. Both kinds of code may be removed, speeding-up the evaluation in this way: we introduce an algorithm for doing it. We prove the correctness of the method and we characterize the code we remove.
Preview
Unable to display preview. Download preview PDF.
References
H. Barendregt, The Lambda Calculus its Syntax and Semantics, Studies in Logic and the Foundation of Mathematics, North-Holland, 1984
P. N. Benton, Strictness Analysis of Lazy Functional Programs, Ph. D. Thesis, University of Cambridge, Pembroke College, 1992, Cambridge.
S. Berardi, Extensional Equality for Simply Typed λ-calculi, Technical Report, Turin University, 1993 (available via ftp at ftp.di.unito.it).
S. Berardi, Pruning Simply Typed λ-terms, to appear in Journal of Logic and Computation.
S. Berardi, L. Boerio, Using Subtyping in Program Optimization, Proceedings of TLCA '95, Eds, M. Dezani and G. Plotkin, Edinburgh, April 1995, LNCS 902, pp. 63–77, Springer-Verlag.
S. Berardi, L. Boerio, Removing Redundant Code in a Pure Functional Language with Data Types, Technical Report, Turin University, 1996 (available via ftp at ftp.di.unito.it).
L. Boerio, Extending Pruning Techniques to Polymorphic Second Order λ-Calculus, Proceedings of ESOP '94, Edinburgh, April 1994, LNCS 788, D. Sannella (ed.), Springer-Verlag, pp. 120–134.
L. Boerio, Optimizing Programs Extracted from Proofs, Ph. D. Thesis in Computer Science, University of Turin, February 1995, Turin (available via ftp at ftp.di.unito.it).
J. Y. Girard, Interpretation Fonctionelle et Elimination des Coupures dans l'Aritmetique d'Ordre Superieur, Ph. D. Thesis, Université Paris VII, 1971, Paris.
M. J. C. Gordon, R. Milner, C. P. Wadsworth, Edinburgh LCF, LNCS 78, Springer-Verlag, 1979.
L.S. Hunt, D. Sands, Binding Time Analysis: A New PERspective, Proceedings of the ACM Symposium on Partial Evaluation and Semantics-based Program Manipulation, 1991.
J. C. Mitchell, Type Systems for Programming Languages, In: J. van Leeuwen ed., Handbook of Theoretical Computer Science, Elsevier Science Publ., 1990, 366–458.
C. Paulin-Mohring, Extracting F ω's, Programs from Proofs in the Calculus of Constructions, In: Sixteenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas, Association for Computing Machinery publisher, 11–13 January 1989, pp. 89–104.
J. C. Reynolds, Towards a Theory of Type Structure, in Colloque sur la Programmation, LNCS 19, Springer-Verlag, 1974.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Berardi, S., Boerio, L. (1997). Minimum information code in a pure functional language with data types. In: de Groote, P., Roger Hindley, J. (eds) Typed Lambda Calculi and Applications. TLCA 1997. Lecture Notes in Computer Science, vol 1210. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-62688-3_27
Download citation
DOI: https://doi.org/10.1007/3-540-62688-3_27
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-62688-6
Online ISBN: 978-3-540-68438-1
eBook Packages: Springer Book Archive