Semantics of Linear Continuation-Passing in Call-by-Name

We propose a semantic framework for modelling the linear usage of continuations in typed call-by-name programming languages. On the semantic side, we introduce a construction for categories of linear continuations, which gives rise to cartesian closed categories with “linear classical disjunctions” from models of intuitionistic linear logic with sums. On the syntactic side, we give a simply typed call-by-name λμ-calculus in which the use of names (continuation variables) is restricted to be linear. Its semantic interpretation into a category of linear continuations then amounts to the call-by-name continuation-passing style (CPS) transformation into a linear lambda calculus with sum types. We show that our calculus is sound for this CPS semantics, hence for models given by the categories of linear continuations.

[1]  Peter Selinger,et al.  Control categories and duality: on the categorical semantics of the lambda-mu calculus , 2001, Mathematical Structures in Computer Science.

[2]  Andrzej Filinski Declarative Continuations: an Investigation of Duality in Programming Language Semantics , 1989, Category Theory and Computer Science.

[3]  J. Lambek,et al.  Introduction to higher order categorical logic , 1986 .

[4]  Andrew Barber,et al.  Dual Intuitionistic Linear Logic , 1996 .

[5]  Masahito Hasegawa,et al.  Classical linear logic of implications , 2002, Mathematical Structures in Computer Science.

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

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

[8]  Michael Barr,et al.  *-Autonomous categories and linear logic , 1991, Mathematical Structures in Computer Science.

[9]  Philip Wadler,et al.  Call-by-Value Is Dual to Call-by-Name - Reloaded , 2005, RTA.

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

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

[12]  Edmund Robinson,et al.  Premonoidal categories and notions of computation , 1997, Mathematical Structures in Computer Science.

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

[14]  Michel Parigot,et al.  Lambda-Mu-Calculus: An Algorithmic Interpretation of Classical Natural Deduction , 1992, LPAR.

[15]  Peter W. O'Hearn,et al.  Linearly Used Continuations , 2000 .

[16]  Yukiyoshi Kameyama,et al.  A sound and complete axiomatization of delimited continuations , 2003, ICFP '03.

[17]  Gavin M. Bierman What is a Categorical Model of Intuitionistic Linear Logic? , 1995, TLCA.

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

[19]  Thomas Streicher,et al.  Continuation Models Are Universal for -calculus , 1997 .

[20]  Martin Hofmann,et al.  Continuation models are universal for /spl lambda//sub /spl mu//-calculus , 1997, Proceedings of Twelfth Annual IEEE Symposium on Logic in Computer Science.

[21]  Andrzej Filinski Linear continuations , 1992, POPL '92.

[22]  James Laird A Game Semantics of Linearly Used Continuations , 2003, FoSSaCS.

[23]  Yoshihiko Kakutani Duality between Call-by-Name Recursion and Call-by-Value Iteration , 2002, CSL.

[24]  Hugo Herbelin,et al.  Minimal Classical Logic and Control Operators , 2003, ICALP.

[25]  J. Robin B. Cockett,et al.  ! and ? – Storage as tensorial strength , 1996, Mathematical Structures in Computer Science.

[26]  Martin Hyland,et al.  Glueing and orthogonality for models of linear logic , 2003, Theor. Comput. Sci..

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

[28]  R. A. G. Seely,et al.  Linear Logic, -Autonomous Categories and Cofree Coalgebras , 1989 .