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...

Full description

Saved in:
Bibliographic Details
Published in:Science of computer programming Vol. 84; pp. 77 - 100
Main Authors: Dal Lago, Ugo, Petit, Barbara
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!
Description
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