Skip to main content

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

  • Conference paper
Functional and Logic Programming (FLOPS 2004)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2998))

Included in the following conference series:

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ariola, Z.M., Herbelin, H.: Minimal classical logic and control operators. In: Baeten, J.C.M., Lenstra, J.K., Parrow, J., Woeginger, G.J. (eds.) ICALP 2003. LNCS, vol. 2719, pp. 871–885. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  2. Barber, A.: Linear Type Theories, Semantics and Action Calculi. PhD Thesis ECS-LFCS-97-371, Univ. Edinburgh (1997)

    Google Scholar 

  3. Barber, A., Plotkin, G.: Dual intuitionistic linear logic. Manuscript. An earlier version available as Technical Report ECS-LFCS-96-347, Univ. Edinburgh (1997)

    Google Scholar 

  4. Barr, M.: ∗-Autonomous Categories. Lecture Notes in Math, vol. 752. Springer, Heidelberg (1979)

    MATH  Google Scholar 

  5. Barr, M.: ∗-autonomous categories and linear logic. Math. Struct. Comp. Sci. 1, 159–178 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  6. Benton, N.: A mixed linear non-linear logic: proofs, terms and models (extended abstract). In: Pacholski, L., Tiuryn, J. (eds.) CSL 1994. LNCS, vol. 933, pp. 121–135. Springer, Heidelberg (1995)

    Chapter  Google Scholar 

  7. Berdine, J., O’Hearn, P.W., Reddy, U.S., Thielecke, H.: Linearly used continuations. In: Proc. 3rd ACM SIGPLAN Workshop on Continuations, CW 2001, Technical Report No. 545, Computer Science Dept., Indiana Univ., pp. 47–54 (2001)

    Google Scholar 

  8. Berdine, J., O’Hearn, P.W., Reddy, U.S., Thielecke, H.: Linear continuation-passing. Higher-Order and Symbolic Computation 15(2/3), 181–203 (2002)

    Article  MATH  Google Scholar 

  9. Bierman, G.M.: What is a categorical model of intuitionistic linear logic? In: Dezani-Ciancaglini, M., Plotkin, G. (eds.) TLCA 1995. LNCS, vol. 902, pp. 78–93. Springer, Heidelberg (1995)

    Chapter  Google Scholar 

  10. Blute, R., Cockett, J.R.B., Seely, R.A.G.: ! and? - storage as tensorial strength. Mathematical Structures in Computer Science 6(4), 313–351 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  11. Filinski, A.: Declarative continuations: an investigation of duality in programming language semantics. In: Dybjer, P., Pitts, A.M., Pitt, D.H., Poigné, A., Rydeheard, D.E. (eds.) Category Theory and Computer Science. LNCS, vol. 389, pp. 224–249. Springer, Heidelberg (1989)

    Chapter  Google Scholar 

  12. Filinski, A.: Linear continuations. In: Proc. 19th Annual ACM SIGPLAN SIGACT Symposium on Principles of Programming Languages (POPL 1992), pp. 27–38 (1992)

    Google Scholar 

  13. Girard, J.-Y.: Linear logic. Theoret. Comp. Sci. 50, 1–102 (1987)

    Article  MATH  MathSciNet  Google Scholar 

  14. Hasegawa, M.: Linearly used effects: monadic and CPS transformations into the linear lambda calculus. In: Hu, Z., Rodríguez-Artalejo, M. (eds.) FLOPS 2002. LNCS, vol. 2441, pp. 167–182. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  15. Hasegawa, M.: Classical linear logic of implications. In: Bradfield, J.C. (ed.) CSL 2002 and EACSL 2002. LNCS, vol. 2471, pp. 458–472. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  16. Hofmann, M., Streicher, T.: Continuation models are universal for λμ- calculus. In: Proc. 12th Annual IEEE Symposium on Logic in Computer Science (LICS 1997), pp. 387–397 (1997)

    Google Scholar 

  17. Hyland, M., Schalk, A.: Glueing and orthogonality for models of linear logic. Theoret. Comp. Sci. 294(1/2), 183–231 (2003)

    Article  MATH  MathSciNet  Google Scholar 

  18. Kakutani, Y.: Duality between call-by-name recursion and call-by-value iteration. In: Bradfield, J.C. (ed.) CSL 2002 and EACSL 2002. LNCS, vol. 2471, pp. 506–521. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  19. Kameyama, Y., Hasegawa, M.: A sound and complete axiomatization of delimited continuations. In: Proc. 8th ACM SIGPLAN International Conference on Functional Programming (ICFP 2003), pp. 177–188 (2003)

    Google Scholar 

  20. Laird, J.: A game semantics of linearly used continuations. In: Gordon, A.D. (ed.) FOSSACS 2003. LNCS, vol. 2620, pp. 313–327. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  21. Lambek, J., Scott, P.J.: Introduction to Higher Order Categorical Logic. Cambridge Studies in Advanced Mathematics, vol. 7. Cambridge University Press, Cambridge (1986)

    MATH  Google Scholar 

  22. Moggi, E.: Notions of computation and monads. Inform. and Comput. 93(1), 55–92 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  23. Parigot, M.: λμ-calculus: an algorithmic interpretation of classical natural deduction. In: Voronkov, A. (ed.) LPAR 1992. LNCS, vol. 624, pp. 190–201. Springer, Heidelberg (1992)

    Chapter  Google Scholar 

  24. Power, A.J., Robinson, E.P.: Premonoidal categories and notions of computation. Math. Structures Comput. Sci. 7(5), 453–468 (1997)

    Article  MATH  MathSciNet  Google Scholar 

  25. Seely, R.A.G.: Linear logic, ∗-autonomous categories and cofree coalgebras. In: Categories in Computer Science, AMS Contemp. Math., vol. 92, pp. 371–389 (1989)

    Google Scholar 

  26. Selinger, P.: Control categories and duality: on the categorical semantics of the lambda-mu calculus. Math. Structures Comput. Sci. 11(2), 207–260 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  27. Wadler, P.: Call-by-value is dual to call-by-name. In: Proc. 8th ACM SIGPLAN International Conference on Functional Programming (ICFP 2003), pp. 189–202 (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hasegawa, M. (2004). Semantics of Linear Continuation-Passing in Call-by-Name. In: Kameyama, Y., Stuckey, P.J. (eds) Functional and Logic Programming. FLOPS 2004. Lecture Notes in Computer Science, vol 2998. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24754-8_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24754-8_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-21402-1

  • Online ISBN: 978-3-540-24754-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics