Operational Properties of Lily, a Polymorphic Linear Lambda Calculus with Recursion

Abstract Plotkin has advocated the combination of linear lambda calculus, polymorphism and fixed point recursion as an expressive semantic metalanguage. We study its expressive power from an operational point of view. We show that the naturally call-by-value operators of linear lambda calculus can be given a call-by-name semantics without affecting termination at exponential types and hence without affecting ground contextual equivalence. This result is used to prove properties of a logical relation that provides a new extensional characterisation of ground contextual equivalence and relational parametricity properties of polymorphic types.

[1]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

[2]  S. Purushothaman Iyer,et al.  An Operational Semantics of Sharing in Lazy Evaluation , 1996, Sci. Comput. Program..

[3]  P. J. Freyd Applications of Categories in Computer Science: Remarks on algebraically compact categories , 1992 .

[4]  Andrew M. Pitts,et al.  Metalanguages and Applications , 1997 .

[5]  Simon L. Peyton Jones,et al.  State in Haskell , 1995, LISP Symb. Comput..

[6]  Roy L. Croleemail How Linear is Howe ? , 1996 .

[7]  R. E. A. Mason,et al.  Information Processing 83 , 1984 .

[8]  Philip Wadler,et al.  Operational Interpretations of Linear Logic , 1999, Theor. Comput. Sci..

[9]  Carolyn L. Talcott,et al.  1 Equivalence in Functional Languages with E ectsIan , 2007 .

[10]  Peter Sestoft,et al.  Deriving a lazy abstract machine , 1997, Journal of Functional Programming.

[11]  Gavin M. Bierman,et al.  Program equivalence in a linear functional language , 2000, Journal of Functional Programming.

[12]  Philip Wadler,et al.  Theorems for free! , 1989, FPCA.

[13]  Soren Lassen Relational reasoning about contexts , 1997 .

[14]  Peter D. Mosses,et al.  Denotational semantics , 1995, LICS 1995.

[15]  G.D. Plotkin,et al.  LCF Considered as a Programming Language , 1977, Theor. Comput. Sci..

[16]  Andrew Moran,et al.  Improvement in a lazy context: an operational theory for call-by-need , 1999, POPL '99.

[17]  Eugenio Moggi,et al.  Notions of Computation and Monads , 1991, Inf. Comput..

[18]  Gordon D. Plotkin,et al.  An axiomatisation of computationally adequate domain theoretic models of FPC , 1994, Proceedings Ninth Annual IEEE Symposium on Logic in Computer Science.

[19]  John C. Reynolds,et al.  Types, Abstraction and Parametric Polymorphism , 1983, IFIP Congress.

[20]  Andrew M. Pitts,et al.  Higher order operational techniques in semantics , 1999 .

[21]  Andrew M. Pitts Existential Types: Logical Relations and Operational Equivalence , 1998, ICALP.

[22]  Carl A. Gunter,et al.  Semantic Domains , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

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

[24]  Douglas J. Howe Proving Congruence of Bisimulation in Functional Programming Languages , 1996, Inf. Comput..

[25]  Andrew M. Pitts,et al.  Parametric polymorphism and operational equivalence , 2000, Mathematical Structures in Computer Science.

[26]  Andrew G. Barber,et al.  Linear type theories, semantics and action calculi , 1997 .

[27]  H. Swinnerton-Dyer Publications of the Newton Institute , 1993 .

[28]  Peter W. O'Hearn,et al.  From Algol to polymorphic linear lambda-calculus , 2000, JACM.

[29]  S. Abramsky The lazy lambda calculus , 1990 .

[30]  Samson Abramsky,et al.  Computational Interpretations of Linear Logic , 1993, Theor. Comput. Sci..