Projects per year
Abstract
This paper describes the first successful attempt, of which we are
aware, to define an automatic, type-based static analysis of resource
bounds for lazy functional programs. Our analysis uses the automatic
amortisation approach developed by Jost and Hofmann, which was
previously restricted to eager evaluation. In this paper, we extend
this work to a lazy setting by capturing the costs of unevaluated
expressions in type annotations and by amortising the payment of these
costs using a notion of lazy potential. We present our analysis as a
proof system for predicting heap allocations of a minimal functional
language (including higher-order functions and recursive data types)
and define a formal cost model based on Launchbury's natural semantics
for lazy evaluation. We prove the soundness of our analysis with
respect to the cost model. Our approach is illustrated by a number of
representative and non-trivial examples that have been analyed using a
prototype implementation of our analysis.
aware, to define an automatic, type-based static analysis of resource
bounds for lazy functional programs. Our analysis uses the automatic
amortisation approach developed by Jost and Hofmann, which was
previously restricted to eager evaluation. In this paper, we extend
this work to a lazy setting by capturing the costs of unevaluated
expressions in type annotations and by amortising the payment of these
costs using a notion of lazy potential. We present our analysis as a
proof system for predicting heap allocations of a minimal functional
language (including higher-order functions and recursive data types)
and define a formal cost model based on Launchbury's natural semantics
for lazy evaluation. We prove the soundness of our analysis with
respect to the cost model. Our approach is illustrated by a number of
representative and non-trivial examples that have been analyed using a
prototype implementation of our analysis.
Original language | English |
---|---|
Title of host publication | ICFP '12 Proceedings of the 17th ACM SIGPLAN international conference on Functional programming |
Place of Publication | New York |
Publisher | ACM |
Pages | 165-176 |
Number of pages | 12 |
ISBN (Print) | 978-1-4503-1054-3 |
DOIs | |
Publication status | Published - 2012 |
Keywords
- Functional Programming
- Lazy evaluation
- Cost Modelling
- Operational Semantics
- TYPE SYSTEMS
Fingerprint
Dive into the research topics of 'Automatic Amortised Analysis of Dynamic Memory Allocation for Lazy Functional Programs'. Together they form a unique fingerprint.Projects
- 1 Finished
-
EP/F030657/1 Adaptive Hardware Systems: Copy of Adaptive Hardware Systems with Novel Algorithmic Design and Guaranteed Resource Bounds
Hammond, K. (PI)
1/09/08 → 31/08/11
Project: Standard