Modular, higher-order cardinality analysis in theory and practice

  • Authors:
  • Ilya Sergey;Dimitrios Vytiniotis;Simon Peyton Jones

  • Affiliations:
  • IMDEA Software Institute, Madrid, Spain;Microsoft Research, Cambridge, United Kingdom;Microsoft Research, Cambridge, United Kingdom

  • Venue:
  • Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
  • Year:
  • 2014

Quantified Score

Hi-index 0.00

Visualization

Abstract

Since the mid '80s, compiler writers for functional languages (especially lazy ones) have been writing papers about identifying and exploiting thunks and lambdas that are used only once. However it has proved difficult to achieve both power and simplicity in practice. We describe a new, modular analysis for a higher-order language, which is both simple and effective, and present measurements of its use in a full-scale, state of the art optimising compiler. The analysis finds many single-entry thunks and one-shot lambdas and enables a number of program optimisations.