Minimality in a Linear Calculus with Iteration

System L is a linear version of Godel's System T, where the @l-calculus is replaced with a linear calculus; or alternatively a linear @l-calculus enriched with some constructs including an iterator. There is thus at the same time in this system a lot of freedom in reduction and a lot of information about resources, which makes it an ideal framework to start a fresh attempt at studying reduction strategies in @l-calculi. In particular, we show that call-by-need, the standard strategy of functional languages, can be defined directly and effectively in System L, and can be shown minimal among weak strategies.

[1]  John Field,et al.  On laziness and optimality in lambda interpreters: tools for specification and analysis , 1989, POPL '90.

[2]  Simon L. Peyton Jones,et al.  Imperative functional programming , 1993, POPL '93.

[3]  John Lamping,et al.  An algorithm for optimal lambda calculus reduction , 1989, POPL '90.

[4]  Ian Mackie,et al.  Iterator Types , 2007, FoSSaCS.

[5]  J. Engelfriet,et al.  IO and OI , 1975 .

[6]  Luc Maranget,et al.  Optimal derivations in weak lambda-calculi and in orthogonal term rewriting systems , 1991, POPL '91.

[7]  John R. W. Glauert,et al.  Stable results and relative normalization , 2000, J. Log. Comput..

[8]  John Longley When is a functional program not a functional program? , 1999, ICFP '99.

[9]  I. S. Ko,et al.  SYSTEM IN T , 1998 .

[10]  John Launchbury,et al.  A natural semantics for lazy evaluation , 1993, POPL '93.

[11]  Daniel Fredholm,et al.  System T, Call-by-Value and the Minimum Problem , 1998, Theor. Comput. Sci..

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

[13]  Vincent van Oostrom Random Descent , 2007, RTA.

[14]  Pawel Urzyczyn,et al.  Type fixpoints: iteration vs. recursion , 1999, ICFP '99.

[15]  H. J. Sander Bruggink Residuals in Higher-Order Rewriting , 2003, RTA.

[16]  Jean-Jacques Lévy,et al.  Sharing in the Weak Lambda-Calculus , 2005, Processes, Terms and Cycles.

[17]  J. Girard,et al.  Proofs and types , 1989 .

[18]  Simon Peyton Jones,et al.  The Implementation of Functional Programming Languages (Prentice-hall International Series in Computer Science) , 1987 .

[19]  Joost Engelfriet,et al.  IO and OI. I , 1977, J. Comput. Syst. Sci..

[20]  Vincent van Oostrom,et al.  Context-sensitive conditional expression reduction systems , 1995, Electron. Notes Theor. Comput. Sci..

[21]  Michel Parigot On the Representation of Data in Lambda-Calculus , 1989, CSL.

[22]  Jan A. Bergstra,et al.  Degrees, reductions and representability in the lambda calculus , 1976 .

[23]  Ian Mackie,et al.  Closed reduction: explicit substitutions without alpha-conversion , 2005, Math. Struct. Comput. Sci..

[24]  Simon L. Peyton Jones,et al.  The Implementation of Functional Programming Languages , 1987 .

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

[26]  Pascal Fradet,et al.  Compilation of Head and Strong Reduction , 1994, ESOP.

[27]  Ugo Dal Lago,et al.  An Invariant Cost Model for the Lambda Calculus , 2005, CiE.

[28]  Benedikt Löwe,et al.  Logical Approaches to Computational Barriers: CiE 2006 , 2007, J. Log. Comput..

[29]  Terese Term rewriting systems , 2003, Cambridge tracts in theoretical computer science.

[30]  Ian Mackie,et al.  The Power of Linear Functions , 2006, CSL.

[31]  J. Roger Hindley,et al.  To H.B. Curry: Essays on Combinatory Logic, Lambda Calculus, and Formalism , 1980 .