paperbot · PL 论文追踪

RSS

Modular, higher order cardinality analysis in theory and practice

JFP vol.272017
ILYA SERGEY, DIMITRIOS VYTINIOTIS, SIMON L. PEYTON JONES, JOACHIM BREITNER

尚未生成 AI 速览(可能缺少 API key 或等待下次运行补跑)。

原文摘要(Abstract)

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.

链接与引用

DOI 原文 ·

BibTeX
@article{paperbot73,
  title = {Modular, higher order cardinality analysis in theory and practice},
  author = {ILYA SERGEY and DIMITRIOS VYTINIOTIS and SIMON L. PEYTON JONES and JOACHIM BREITNER},
  journal = {Journal of Functional Programming},
  volume = {27},
  year = {2017},
  doi = {10.1017/s0956796817000016}
}