Skip to main content

Type-Based Useless-Code Elimination for Functional Programs Position Paper

  • Conference paper
  • First Online:
Semantics, Applications, and Implementation of Program Generation (SAIG 2000)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1924))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. V. Aho, R. Sethi, and J. Ullmann. Complilers: Principles, Techniques, and Tools. Addison Wesley, 1986.

    Google Scholar 

  2. M. J. Beeson. Foundations of Constructive Mathematics, Metamathematical Studies. Springer, 1985.

    Google Scholar 

  3. S. Berardi. Pruning Simply Typed Lambda Terms, 1993. Course notes of the“Summer School in Logic and Programming”, University of Chambery.

    Google Scholar 

  4. S. Berardi. Pruning Simply Typed Lambda Terms. Journal of Logic and Computation, 6(5):663–681, 1996.

    Article  MATH  MathSciNet  Google Scholar 

  5. S. Berardi and L. Boerio. Using Subtyping in Program Optimization. In TLCA’95, LNCS 902. Springer, 1995.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. L. Boerio. Extending Pruning Techniques to Polymorphic Second Order λ-calculus. In ESOP’94, LNCS 788, pages 120–134. Springer, 1994.

    Google Scholar 

  8. L. Boerio. Optimizing Programs Extracted from Proofs. PhD thesis, Università di Torino, 1995.

    Google Scholar 

  9. M. Coppo, F. Damiani, and P. Giannini. Refinement Types for Program Analysis. In SAS’96, LNCS 1145, pages 143–158. Springer, 1996.

    Google Scholar 

  10. F. Damiani. Non-standard type inference for functional programs. PhD thesis, Dipartimento di Informatica, Università di Torino, February 1998.

    Google Scholar 

  11. F. Damiani. Useless-code detection and elimination for PCF with algebraic Datatypes. In TLCA’99, LNCS 1581, pages 83–97. Springer, 1999.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. F. Damiani and P. Giannini. Automatic useless-code elimination for HOT functional programs. Journal of Functional programming. To appear.

    Google Scholar 

  14. F. Damiani and F. Prost. Detecting and Removing Dead Code using Rank 2 Intersection. In TYPES’96, LNCS 1512, pages 66–87. Springer, 1998.

    Google Scholar 

  15. A. Fischbach and J. Hannan. Type Systems and Algoritms for Useless-Variable Elimination, 1999. Submitted.

    Google Scholar 

  16. C. A. Goad. Computational uses of the manipulation of proofs. PhD thesis, Stanford University, 1980.

    Google Scholar 

  17. C. Hankin and D. Le Métayer. Lazy type inference and program analysis. Science of Computer Programming, 25:219–249, 1995.

    Article  MathSciNet  Google Scholar 

  18. N. Kobayashi. Type-Based Useless Variable Elimination. In PEPM’00. ACM, 2000. To appear.

    Google Scholar 

  19. G. Kreisel and A. Troelstra. Formal systems for some branches of intionistic analysis. Annals of Pure and Applied Logic, 1, 1979.

    Google Scholar 

  20. 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).

    Google Scholar 

  21. F. Nielson, H. R. Nielson, and C. Hankin. Principles of Program Analysis. In preparation, http://www.daimi.au.dk/~hrn/PPA/ppa.html, 1999.

  22. C. Paulin-Mohring. Extracting Fw’s Programs from Proofs in the Calculus of Constructions. In POPL’89. ACM, 1989.

    Google Scholar 

  23. C. Paulin-Mohring. Extraction de Programme dans le Calcul des Constructions. PhD thesis, Université Paris VII, 1989.

    Google Scholar 

  24. G. D. Plotkin. LCF considered as a programming language. Theoretical Computer Science, 5(3):223–255, 1977.

    Article  MathSciNet  Google Scholar 

  25. 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.

    Google Scholar 

  26. 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.

    Google Scholar 

  27. O. Shivers. Control Flow Analysis of Higher-Order Languages. PhD thesis, Carnegie-Mellon University, 1991.

    Google Scholar 

  28. Y. Takayama. Extraction of Redundancy-free Programs from Constructive Natural Deduction Proofs. Journal of Symbolic Computation, 12:29–69, 1991.

    Article  MATH  MathSciNet  Google Scholar 

  29. A. Troelstra, editor. Metamathematical Investigation of Intuitionistic Arithmetic and Analysis. LNM 344. Springer, 1973.

    Google Scholar 

  30. M. Wand and I. Siveroni. Constraints Systems for Useless Variable Elimination. In POPL’99, pages 291–302. ACM, 1999.

    Google Scholar 

  31. R. Wilhelm and D. Maurer. Compliler Design. Addison Wesley, 1995.

    Google Scholar 

  32. H. Xi. Dead Code Elimination through Dependent Types. In PADL’99, pages 228–242, 1999.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics