Linear dependent types in a call-by-value scenario
Linear dependent types were introduced recently (Dal Lago and Gaboardi, 2012) [26] as a formal system that allows to precisely capture both the extensional behavior and the time complexity of λ-terms, when the latter are evaluated by Krivine’s abstract machine. In this work, we show that the same pa...
Saved in:
| Published in: | Science of computer programming Vol. 84; pp. 77 - 100 |
|---|---|
| Main Authors: | , |
| Format: | Journal Article |
| Language: | English |
| Published: |
Elsevier B.V
01.05.2014
Elsevier |
| Subjects: | |
| ISSN: | 0167-6423, 1872-7964 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Summary: | Linear dependent types were introduced recently (Dal Lago and Gaboardi, 2012) [26] as a formal system that allows to precisely capture both the extensional behavior and the time complexity of λ-terms, when the latter are evaluated by Krivine’s abstract machine. In this work, we show that the same paradigm can be applied to call-by-value computation. A system of linear dependent types for Plotkin’s PCF is introduced, called dℓPCFV, whose types reflect the complexity of evaluating terms in the CEK machine. dℓPCFV is proved to be sound, but also relatively complete: every true statement about the extensional and intentional behavior of terms can be derived, provided all true index term inequalities can be used as assumptions.
•A type system for complexity analysis of higher-order functional programs.•Extend previous, related, work to an applied, call-by-value, lambda-calculus.•The type system is not only sound, but relatively complete.•We provide fully-developed nontrivial examples of complexity analyses. |
|---|---|
| ISSN: | 0167-6423 1872-7964 |
| DOI: | 10.1016/j.scico.2013.07.010 |