UCL Discovery
UCL home » Library Services » Electronic resources » UCL Discovery

Modular, higher order cardinality analysis in theory and practice

Sergey, I; Vytiniotis, D; Jones, SLP; Breitner, J; (2017) Modular, higher order cardinality analysis in theory and practice. Journal of Functional Programming , 27 , Article e11. 10.1017/S0956796817000016. Green open access

[thumbnail of Sergey_Modular_ higher_order.pdf]
Preview
Text
Sergey_Modular_ higher_order.pdf - Accepted Version

Download (424kB) | Preview

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. In this paper, we describe a new, modular analysis for a higher order language, which is both simple and effective. We prove the analysis sound with respect to a standard call-by-need semantics, 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. This paper extends our preceding conference publication (Sergey et al. 2014 Proceedings of the 41st Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2014). ACM, pp. 335–348) with proofs, expanded report on evaluation and a detailed examination of the factors causing the loss of precision in the analysis.

Type: Article
Title: Modular, higher order cardinality analysis in theory and practice
Open access status: An open access version is available from UCL Discovery
DOI: 10.1017/S0956796817000016
Publisher version: https://doi.org/10.1017/S0956796817000016
Language: English
Additional information: This version is the author accepted manuscript. For information on re-use, please refer to the publisher’s terms and conditions.
UCL classification: UCL
UCL > Provost and Vice Provost Offices > UCL BEAMS
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science
URI: https://discovery.ucl.ac.uk/id/eprint/1550717
Downloads since deposit
133Downloads
Download activity - last month
Download activity - last 12 months
Downloads by country - last 12 months

Archive Staff Only

View Item View Item