We gratefully acknowledge support from
the Simons Foundation and member institutions.
Full-text links:

Download:

Current browse context:

cs.PL

Change to browse by:

References & Citations

DBLP - CS Bibliography

Bookmark

(what is this?)
CiteULike logo BibSonomy logo Mendeley logo del.icio.us logo Digg logo Reddit logo

Computer Science > Programming Languages

Title: Recurrence Extraction for Functional Programs through Call-by-Push-Value (Extended Version)

Abstract: The main way of analyzing the complexity of a program is that of extracting and solving a recurrence that expresses its running time in terms of the size of its input. We develop a method that automatically extracts such recurrences from the syntax of higher-order recursive functional programs. The resulting recurrences, which are programs in a call-by-name language with recursion, explicitly compute the running time in terms of the size of the input. In order to achieve this in a uniform way that covers both call-by-name and call-by-value evaluation strategies, we use Call-by-Push-Value (CBPV) as an intermediate language. Finally, we use domain theory to develop a denotational cost semantics for the resulting recurrences.
Comments: POPL 2020
Subjects: Programming Languages (cs.PL); Logic in Computer Science (cs.LO)
ACM classes: F.3.2
Journal reference: Proc. ACM Program. Lang. 4, POPL, Article 15 (January 2020)
DOI: 10.1145/3371083
Cite as: arXiv:1911.04588 [cs.PL]
  (or arXiv:1911.04588v1 [cs.PL] for this version)

Submission history

From: G. A. Kavvos [view email]
[v1] Mon, 11 Nov 2019 22:36:07 GMT (120kb,D)

Link back to: arXiv, form interface, contact.