Reasoning About Call-by-need by Means of Types

We first develop a (semantical) characterization of call-by-need normalization by means of typability, i.e. we show that a term is normalizing in call-by-need if and only if it is typable in a suitable system with non-idempotent intersection types. This first result is used to derive a new completeness proof of call-by-need w.r.t. call-by-name. Concretely, we show that call-by-need and call-by-name are observationally equivalent, so that in particular, the former turns out to be a correct implementation of the latter.

[1]  Gordon D. Plotkin,et al.  Call-by-Name, Call-by-Value and the lambda-Calculus , 1975, Theor. Comput. Sci..

[2]  Mariangiola Dezani-Ciancaglini,et al.  A new type assignment for λ-terms , 1978, Arch. Math. Log..

[3]  Coppo Mario,et al.  A new type assignment for lambda-terms , 1978 .

[4]  Mariangiola Dezani-Ciancaglini,et al.  An extension of the basic functionality theory for the λ-calculus , 1980, Notre Dame J. Formal Log..

[5]  Mariangiola Dezani-Ciancaglini,et al.  Functional Characters of Solvable Terms , 1981, Math. Log. Q..

[6]  Mariangiola Dezani-Ciancaglini,et al.  A filter lambda model and the completeness of type assignment , 1983, Journal of Symbolic Logic.

[7]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[8]  F. Cardone,et al.  Two extensions of Curry's type inference system , 1990 .

[9]  Steffen van Bakel,et al.  Complete Restrictions of the Intersection Type Discipline , 1992, Theor. Comput. Sci..

[10]  Jean-Louis Krivine,et al.  Lambda-calculus, types and models , 1993, Ellis Horwood series in computers and their applications.

[11]  Philippa Gardner,et al.  Discovering Needed Reductions Using Type Theory , 1994, TACS.

[12]  Matthias Felleisen,et al.  A call-by-need lambda calculus , 1995, POPL '95.

[13]  Matthias Felleisen,et al.  The call-by-need lambda calculus , 1997, Journal of Functional Programming.

[14]  Martin Odersky,et al.  Call-by-name, Call-by-value, Call-by-need and the Linear lambda Calculus , 1999, Theor. Comput. Sci..

[15]  Pierre-Louis Curien,et al.  A semantics for lambda calculi with resources , 1999, Mathematical Structures in Computer Science.

[16]  Assaf J. Kfoury A linearization of the Lambda-calculus and consequences , 2000, J. Log. Comput..

[17]  Assaf J. Kfoury,et al.  Principality and type inference for intersection types using expansion variables , 2004, Theor. Comput. Sci..

[18]  Daniel J. Dougherty,et al.  Intersection types for explicit substitutions , 2004, Inf. Comput..

[19]  Harry G. Mairson,et al.  Types, potency, and idempotency: why nonlinearity and amnesia make a type system work , 2004, ICFP '04.

[20]  Robin Milner,et al.  Local Bigraphs and Confluence: Two Conjectures: (Extended Abstract) , 2007, EXPRESS.

[21]  D. Carvalho,et al.  Sémantiques de la logique linéaire et temps de calcul , 2007 .

[22]  D. Kesner,et al.  Milner’s Lambda-Calculus with Partial Substitutions , 2008 .

[23]  Delia Kesner,et al.  A Theory of Explicit Substitutions with Safe and Full Composition , 2009, Log. Methods Comput. Sci..

[24]  Michele Pagani,et al.  Solvability in Resource Lambda-Calculus , 2010, FoSSaCS.

[25]  Delia Kesner,et al.  The structural λ-calculus , 2010 .

[26]  Michele Pagani,et al.  Linearity, Non-determinism and Solvability , 2010, Fundam. Informaticae.

[27]  Matthias Felleisen,et al.  The Call-by-need Lambda Calculus, Revisited , 2012, ESOP.

[28]  Simona Ronchi Della Rocca,et al.  Bounding normalization time through intersection types , 2012, ITRS.

[29]  Olivier Danvy,et al.  A synthetic operational account of call-by-need evaluation , 2013, PPDP.

[30]  Stéphane Lengrand,et al.  Non-idempotent intersection types and strong normalisation , 2013, Log. Methods Comput. Sci..

[31]  Antonio Bucciarelli,et al.  The Inhabitation Problem for Non-idempotent Intersection Types , 2014, IFIP TCS.

[32]  Damiano Mazza,et al.  Distilling abstract machines , 2014, ICFP.

[33]  Delia Kesner,et al.  Quantitative Types for the Linear Substitution Calculus , 2014, IFIP TCS.

[34]  Delia Kesner,et al.  Quantitative Types for Intuitionistic Calculi , 2014 .

[35]  Delia Kesner,et al.  A nonstandard standardization theorem , 2014, POPL.

[36]  Antonio Bucciarelli,et al.  Observability for Pair Pattern Calculi , 2015, TLCA.