Abstract
In this paper we present a survey of the work on type-based useless-code elimination for higher-order functional programs. After some historical remarks on the motivations and early approaches we give an informal but complete account of the techniques and results developed at the Computer Science Department of the University of Torino. In particular, we focus on the fact that, for each of the type-based techniques developed, there is an optimal program simplification.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
A. V. Aho, R. Sethi, and J. Ullmann. Complilers: Principles, Techniques, and Tools. Addison Wesley, 1986.
M. J. Beeson. Foundations of Constructive Mathematics, Metamathematical Studies. Springer, 1985.
S. Berardi. Pruning Simply Typed Lambda Terms, 1993. Course notes of the“Summer School in Logic and Programming”, University of Chambery.
S. Berardi. Pruning Simply Typed Lambda Terms. Journal of Logic and Computation, 6(5):663–681, 1996.
S. Berardi and L. Boerio. Using Subtyping in Program Optimization. In TLCA’95, LNCS 902. Springer, 1995.
S. Berardi and L. Boerio. Minimum Information Code in a Pure Functional Language with Data Types. In TLCA’97, LNCS 1210, pages 30–45. Springer, 1997.
L. Boerio. Extending Pruning Techniques to Polymorphic Second Order λ-calculus. In ESOP’94, LNCS 788, pages 120–134. Springer, 1994.
L. Boerio. Optimizing Programs Extracted from Proofs. PhD thesis, Università di Torino, 1995.
M. Coppo, F. Damiani, and P. Giannini. Refinement Types for Program Analysis. In SAS’96, LNCS 1145, pages 143–158. Springer, 1996.
F. Damiani. Non-standard type inference for functional programs. PhD thesis, Dipartimento di Informatica, Università di Torino, February 1998.
F. Damiani. Useless-code detection and elimination for PCF with algebraic Datatypes. In TLCA’99, LNCS 1581, pages 83–97. Springer, 1999.
F. Damiani. Conjunctive types and useless-code elimination (extended abstract). In ICALP Workshops, volume 8 of Proceedings in Informatics, pages 271–285. Carleton-Scientific, 2000.
F. Damiani and P. Giannini. Automatic useless-code elimination for HOT functional programs. Journal of Functional programming. To appear.
F. Damiani and F. Prost. Detecting and Removing Dead Code using Rank 2 Intersection. In TYPES’96, LNCS 1512, pages 66–87. Springer, 1998.
A. Fischbach and J. Hannan. Type Systems and Algoritms for Useless-Variable Elimination, 1999. Submitted.
C. A. Goad. Computational uses of the manipulation of proofs. PhD thesis, Stanford University, 1980.
C. Hankin and D. Le Métayer. Lazy type inference and program analysis. Science of Computer Programming, 25:219–249, 1995.
N. Kobayashi. Type-Based Useless Variable Elimination. In PEPM’00. ACM, 2000. To appear.
G. Kreisel and A. Troelstra. Formal systems for some branches of intionistic analysis. Annals of Pure and Applied Logic, 1, 1979.
F. Nielson. Annotated type and effect systems. ACM Computing Surveys vol. 28 no. 2, 1996. (Invited position statement for the Symposium on Models of Programming Languages and Computation).
F. Nielson, H. R. Nielson, and C. Hankin. Principles of Program Analysis. In preparation, http://www.daimi.au.dk/~hrn/PPA/ppa.html, 1999.
C. Paulin-Mohring. Extracting Fw’s Programs from Proofs in the Calculus of Constructions. In POPL’89. ACM, 1989.
C. Paulin-Mohring. Extraction de Programme dans le Calcul des Constructions. PhD thesis, Université Paris VII, 1989.
G. D. Plotkin. LCF considered as a programming language. Theoretical Computer Science, 5(3):223–255, 1977.
F. Prost. Aform alization of static analyses in system F. In ed]H. Ganzinger, editor, Automated Deduction – CADE-16, 16th International Conference on Automated Deduction, LNAI 1632. Springer-Verlag, 1999.
F. Prost. As tatic calculus of dependencies for the λ-cube. In Proc. of IEEE 15th Ann. Symp. on Logic in Computer Science (LICS’2000). IEEE Computer Society Press, 2000. To appear.
O. Shivers. Control Flow Analysis of Higher-Order Languages. PhD thesis, Carnegie-Mellon University, 1991.
Y. Takayama. Extraction of Redundancy-free Programs from Constructive Natural Deduction Proofs. Journal of Symbolic Computation, 12:29–69, 1991.
A. Troelstra, editor. Metamathematical Investigation of Intuitionistic Arithmetic and Analysis. LNM 344. Springer, 1973.
M. Wand and I. Siveroni. Constraints Systems for Useless Variable Elimination. In POPL’99, pages 291–302. ACM, 1999.
R. Wilhelm and D. Maurer. Compliler Design. Addison Wesley, 1995.
H. Xi. Dead Code Elimination through Dependent Types. In PADL’99, pages 228–242, 1999.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Berardi, S., Coppo, M., Damiani, F., Giannini, P. (2000). Type-Based Useless-Code Elimination for Functional Programs Position Paper. In: Taha, W. (eds) Semantics, Applications, and Implementation of Program Generation. SAIG 2000. Lecture Notes in Computer Science, vol 1924. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45350-4_13
Download citation
DOI: https://doi.org/10.1007/3-540-45350-4_13
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41054-6
Online ISBN: 978-3-540-45350-5
eBook Packages: Springer Book Archive