English

Analysing the Complexity of Functional Programs: Higher-Order Meets First-Order (Long Version)

Logic in Computer Science 2015-06-17 v1 Computational Complexity

Abstract

We show how the complexity of higher-order functional programs can be analysed automatically by applying program transformations to a defunctionalized versions of them, and feeding the result to existing tools for the complexity analysis of first-order term rewrite systems. This is done while carefully analysing complexity preservation and reflection of the employed transformations such that the complexity of the obtained term rewrite system reflects on the complexity of the initial program. Further, we describe suitable strategies for the application of the studied transformations and provide ample experimental data for assessing the viability of our method.

Keywords

Cite

@article{arxiv.1506.05043,
  title  = {Analysing the Complexity of Functional Programs: Higher-Order Meets First-Order (Long Version)},
  author = {Martin Avanzini and Ugo Dal Lago and Georg Moser},
  journal= {arXiv preprint arXiv:1506.05043},
  year   = {2015}
}

Comments

Long version of paper presented at ICFP 2015

R2 v1 2026-06-22T09:54:41.096Z