Semantics of Linear Continuation-Passing in Call-by-Name [chapter]

Masahito Hasegawa
2004 Lecture Notes in Computer Science  
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
more » ... r. 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.
doi:10.1007/978-3-540-24754-8_17 fatcat:ehx7zccbaffv3belzzcd5nobyi