The enriched effect calculus: syntax and semantics

This paper introduces the enriched eect calculus , which extends established type theories for computational eects with primitives from linear logic. The new calculus provides a formalism for expressing linear aspects of computational eects; for example, the linear usage of imperative features such as state and/or continuations. The enriched eect calculus is implemented as an extension of a basic eect calculus without linear primitives, which is closely related to Moggi’s computational metalanguage, Filinski’s eect PCF and Levy’s call-by-push-value. We present syntactic results showing: the delity of the behaviour of the linear connectives of the enriched eect calculus; the conservativity of the enriched eect calculus over its non-linear core (the eect calculus); and the non-conservativity of intuitionistic linear logic when considered as an extension of the enriched eect calculus. The second half of the paper investigates models for the enriched eect calculus, based on enriched category theory. We give several examples of such models, relating them to models of standard eect calculi (such as those based on monads), and to models of intuitionistic linear logic. We also prove soundness and completeness.

[1]  Paul Blain Levy,et al.  Adjunction Models For Call-By-Push-Value With Stacks , 2003, CTCS.

[2]  G. M. Kelly,et al.  BASIC CONCEPTS OF ENRICHED CATEGORY THEORY , 2022, Elements of ∞-Category Theory.

[3]  Paul Blain Levy,et al.  Call-By-Push-Value: A Functional/Imperative Synthesis , 2003, Semantics Structures in Computation.

[4]  Patrick Lincoln,et al.  Linear logic , 1992, SIGA.

[5]  Rasmus Ejlers Møgelberg,et al.  Enriching an Effect Calculus with Linear Types , 2009, CSL.

[6]  Peter W. O'Hearn,et al.  Linear Continuation-Passing , 2002, High. Order Symb. Comput..

[7]  A. Kock Monads on symmetric monoidal closed categories , 1970 .

[8]  Masahito Hasegawa Linearly Used Effects: Monadic and CPS Transformations into the Linear Lambda Calculus , 2001, APLAS.

[9]  Eugenio Moggi,et al.  Computational lambda-calculus and monads , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[10]  Gordon D. Plotkin,et al.  Computational Effects and Operations: An Overview , 2004, Electron. Notes Theor. Comput. Sci..

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

[12]  Rasmus Ejlers Møgelberg,et al.  A Logic for Parametric Polymorphism with Effects , 2007, TYPES.

[13]  Rasmus Ejlers Møgelberg,et al.  Relational Parametricity for Computational Effects , 2007, 22nd Annual IEEE Symposium on Logic in Computer Science (LICS 2007).

[14]  Ralph Matthes,et al.  Short proofs of normalization for the simply- typed λ-calculus, permutative conversions and Gödel's T , 2003, Arch. Math. Log..

[15]  Ian Stark,et al.  Reducibility and TT-Lifting for Computation Types , 2005, TLCA.

[16]  Alex K. Simpson,et al.  The proof theory and semantics of intuitionistic modal logic , 1994 .

[17]  F. E. J. Linton,et al.  Coequalizers in categories of algebras , 1969 .

[18]  Rasmus Ejlers Møgelberg,et al.  Linear-use CPS translations in the Enriched Effect Calculus , 2012, Log. Methods Comput. Sci..

[19]  D. Prawitz Natural Deduction: A Proof-Theoretical Study , 1965 .

[20]  Rasmus Ejlers Møgelberg,et al.  Linearly-Used State in Models of Call-by-Value , 2011, CALCO.

[21]  D. Prawitz Ideas and Results in Proof Theory , 1971 .

[22]  James Laird,et al.  A Logic of Sequentiality , 2010, CSL.

[23]  Nick Benton,et al.  A Mixed Linear and Non-Linear Logic: Proofs, Terms and Models (Extended Abstract) , 1994, CSL.

[24]  Rasmus Ejlers Møgelberg,et al.  Linearly-Used Continuations in the Enriched Effect Calculus , 2010, FoSSaCS.

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

[26]  Paul Blain Levy,et al.  Call-by-push-value , 2022, ACM SIGLOG News.

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

[28]  A. Kock Strong functors and monoidal monads , 1972 .

[29]  M. Nivat Fiftieth volume of theoretical computer science , 1988 .

[30]  James Laird A Categorical Semantics of Higher Order Store , 2002, CTCS.

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

[32]  Rasmus Ejlers Møgelberg,et al.  Relational Parametricity for Control Considered as a Computational Effect , 2007, MFPS.

[33]  Philip Wadler,et al.  Linear logic, monads and the lambda calculus , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[34]  Jean-Yves Girard,et al.  A new constructive logic: classic logic , 1991, Mathematical Structures in Computer Science.