A standard informal method for analyzing the asymptotic complexity of a program is to extract a recurrence that describes its cost in terms of the size of its input, and then to compute a closed-form upper bound on that recurrence. We give a formal account of that method for functional programs in a higher-order language with let-polymorphism. The method consists of two phases. In the first phase, a monadic translation is performed to extract a cost-annotated version of the original program. In the second phase, the extracted program is interpreted in a model. The key feature of this second phase is that different models describe different notions of size. This plays out in several ways. For example, when analyzing functions that take argum...
International audienceWe show how the complexity of higher-order functional programs can be analysed...
Programming languages which express programs for all computable (recursive) functions are called uni...
Abstract. The authors present a lambda-calculus that formalizes the relations between the sizes of a...
This paper presents a type-based analysis for inferring size-and cost-equations for recursive, highe...
A cost recurrence describes an upper bound for the running time of a program in terms of the size of...
Size analysis can be an important part of heap consumption analysis. This paper is a part of ongoing...
cost recurrence describes an upper bound for the running time of a program in terms of the size of i...
AbstractFinitely typed functional programs are naturally classified by their levels. This syntactic ...
This paper presents a novel type-and-effect analysis for pre-dicting upper-bounds on memory allocati...
Automatic static cost analysis infers information about the resources used by programs without actua...
AbstractWe consider a lazy functional language with both recursive and polymorphic types. For this l...
62 pages, uses pic.International audienceThis paper formalizes and proves correct a compilation sche...
In this paper we explain how recursion operators can be used to structure and reason about program s...
Higher-order rewriting is a framework in which higher-order programs can be described by transformat...
In this paper we explain how recursion operators can be used to structure and reason about program s...
International audienceWe show how the complexity of higher-order functional programs can be analysed...
Programming languages which express programs for all computable (recursive) functions are called uni...
Abstract. The authors present a lambda-calculus that formalizes the relations between the sizes of a...
This paper presents a type-based analysis for inferring size-and cost-equations for recursive, highe...
A cost recurrence describes an upper bound for the running time of a program in terms of the size of...
Size analysis can be an important part of heap consumption analysis. This paper is a part of ongoing...
cost recurrence describes an upper bound for the running time of a program in terms of the size of i...
AbstractFinitely typed functional programs are naturally classified by their levels. This syntactic ...
This paper presents a novel type-and-effect analysis for pre-dicting upper-bounds on memory allocati...
Automatic static cost analysis infers information about the resources used by programs without actua...
AbstractWe consider a lazy functional language with both recursive and polymorphic types. For this l...
62 pages, uses pic.International audienceThis paper formalizes and proves correct a compilation sche...
In this paper we explain how recursion operators can be used to structure and reason about program s...
Higher-order rewriting is a framework in which higher-order programs can be described by transformat...
In this paper we explain how recursion operators can be used to structure and reason about program s...
International audienceWe show how the complexity of higher-order functional programs can be analysed...
Programming languages which express programs for all computable (recursive) functions are called uni...
Abstract. The authors present a lambda-calculus that formalizes the relations between the sizes of a...