Skip to main content Accessibility help
×
×
Home

Propositions as sessions*

  • PHILIP WADLER (a1)
Abstract

Continuing a line of work by Abramsky (1994), Bellin and Scott (1994), and Caires and Pfenning (2010), among others, this paper presents CP, a calculus, in which propositions of classical linear logic correspond to session types. Continuing a line of work by Honda (1993), Honda et al. (1998), and Gay & Vasconcelos (2010), among others, this paper presents GV, a linear functional language with session types, and a translation from GV into CP. The translation formalises for the first time a connection between a standard presentation of session types and linear logic, and shows how a modification to the standard presentation yields a language free from races and deadlock, where race and deadlock freedom follows from the correspondence to linear logic.

    • Send article to Kindle

      To send this article to your Kindle, first ensure no-reply@cambridge.org is added to your Approved Personal Document E-mail List under your Personal Document Settings on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part of your Kindle email address below. Find out more about sending to your Kindle. Find out more about sending to your Kindle.

      Note you can select to send to either the @free.kindle.com or @kindle.com variations. ‘@free.kindle.com’ emails are free but can only be sent to your device when it is connected to wi-fi. ‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.

      Find out more about the Kindle Personal Document Service.

      Propositions as sessions*
      Available formats
      ×
      Send article to Dropbox

      To send this article to your Dropbox account, please select one or more formats and confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your <service> account. Find out more about sending content to Dropbox.

      Propositions as sessions*
      Available formats
      ×
      Send article to Google Drive

      To send this article to your Google Drive account, please select one or more formats and confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your <service> account. Find out more about sending content to Google Drive.

      Propositions as sessions*
      Available formats
      ×
Copyright
Footnotes
Hide All
*

The online version of this paper uses colour to highlight the relation of types to terms and source to target.

Footnotes
References
Hide All
Abramsky, S. (1993) Computational interpretations of linear logic. Theor. Comput. Sci. 111 (1&2), 357.
Abramsky, S. (1994) Proofs as processes. Theor. Comput. Sci. 135 (1), 59.
Abramsky, S., Gay, S. J. & Nagarajan, R. (1996) Interaction categories and the foundations of typed concurrent programming. In Deductive Program Design: Proceedings of the 1994 Marktoberdorf Summer School, NATO ASI Series F, pp. 35–113.
Bellin, G. & Scott, P. J. (1994) On the pi-calculus and linear logic. Theor. Comput. Sci. 135 (1), 1165.
Benton, N. & Wadler, P. (1996) Linear logic, monads and the lambda calculus. In Logic in Computer Science (LICS), pp. 420–431.
Berger, M., Honda, K. & Yoshida, N. (2005) Genericity and the pi-calculus. Acta Inform. 42 (2–3), 83141.
Caires, L., Pérez, J. A., Pfenning, F. & Toninho, B. (2013) Behavioral polymorphism and parametricity in session-based communication. In European Symposium on Programming (ESOP), Lecture Notes in Computer Science, vol. 7792. Berlin, Germany: Springer, pp. 330349.
Caires, L. & Pfenning, F. (2010) Session types as intuitionistic linear propositions. In 21st International Conference on Concurrency Theory (CONCUR 2010), Paris, France, pp. 222236.
Caires, L., Pfenning, F. & Toninho, B. (January 2012a) Towards concurrent type theory. In Types in Language Design and Implementation (TLDI), pp. 1–12.
Caires, L., Pfenning, F. & Toninho, B. (2013) Linear logic propositions as session types. Mathematical Structures in Computer Science. To appear in Special Issue on Behavioural Types.
Carbone, M. & Debois, S. (2010) A graphical approach to progress for structured communication in web services. In Interaction and Concurrency Experience (ICE), pp. 13–27.
Fähndrich, M., Aiken, M., Hawblitzel, C., Hodson, O., Hunt, G. C., Larus, J. R. & Levi, S. (2006) Language support for fast and reliable message-based communication in singularity OS. In European Conference on Computer Systems (EuroSys), pp. 177–190.
Gallier, J. H. (1990) On Girard's “Candidats de Reducibilité”. Academic Press, pp. 123204.
Gay, S. J. & Hole, M. (2005) Subtyping for session types in the pi calculus. Acta Inform., 42 (2–3), 191225.
Gay, S. J. & Vasconcelos, V. T. (2010) Linear type theory for asynchronous session types. J. Funct. Program. 20 (1), 1950.
Girard, J.-Y. (1987) Linear logic. Theor. Comput. Sci. 50, 1102.
Girard, J.-Y. (1991) A new constructive logic: Classical logic. Math. Struct. Comput. Sci. 1 (3), 255296.
Girard, J.-Y., Lafont, Y. & Taylor, P. (1989) Proofs and Types, Cambridge Tracts in Theoretical Computer Science, vol. 7. Cambridge, UK: Cambridge University Press.
Herbelin, H. (2005) On the degeneracy of sigma-types in presence of computational classical logic. In Typed Lambda Calculi and Applications (TLCA), pp. 209–220.
Honda, K. (1993) Types for dyadic interaction. In Proceedings of the 4th International Conference on Concurrency Theory (CONCUR 1993), Hildesheim, Germany, pp. 509523.
Honda, K., Vasconcelos, V. T. & Kubo, M. (1998) Language primitives and type discipline for structured communication-based programming. In European Symposium on Programming (ESOP), pp. 122–138.
Honda, K., Yoshida, N. & Carbone, M. (2008) Multiparty asynchronous session types. In Symposium on Principles of Programming Languages (POPL 2008), pp. 273–284.
Kobayashi, N. (2002) Type systems for concurrent programs. In Proceedings of the 10th Anniversary Colloquium of UNU/IIST, LNCS, vol. 2757. Berlin, Germany: Springer-Verlag, pp. 439453.
Kobayashi, N., Pierce, B. C. & Turner, D. N. (1996) Linearity and the pi-calculus. In Principles of Programming Languages Symposium (POPL 1996), St. Petersburg Beach, FL, pp. 358371.
Kobayashi, N. & Yonezawa, A. (1993) ACL – A concurrent linear logic programming paradigm. In International Logic Programming Symposium (ILPS), pp. 279–294.
Kobayashi, N. & Yonezawa, A. (1994) Higher-order concurrent linear logic programming. In Theory and Practice of Parallel Programming, LNCS, vol. 907. Berlin, Germany: Springer-Verlag, pp. 137166.
Kobayashi, N. & Yonezawa, A. (1995) Asynchronous communication model based on linear logic. Form. Asp. Comput. 7 (2), 113149.
Mazurak, K. & Zdancewic, S. (2010) Lolliproc: To concurrency from classical linear logic via Curry–Howard and control. In International Conference on Functional Programming (ICFP 2010), pp. 39–50.
Merro, M. & Sangiorgi, D. (2004) On asynchrony in name-passing calculi. Math. Struct. Comput. Sci. 14 (5), 715767.
Miller, D.. (1992) The pi-calculus as a theory in linear logic: Preliminary results. In Extensions to Logic Programming, LNCS, vol. 660. Berlin, Germany: Springer-Verlag, pp. 242264.
Milner, R., Parrow, J. & Walker, D. (1992) A calculus of mobile processes, i. Inf. Comput. 100 (1), 140.
Pérez, J., Caires, L., Pfenning, F. & Toninho, B. (2012) Linear logical relations for session-based concurrency. In European Symposium on Programming (ESOP), pp. 539–558.
Pfenning, F., Caires, L. & Toninho, B. (2011) Proof-carrying code in a session-typed process calculus. In Certified Programs and Proofs (CPP), pp. 21–36.
Pierce, B. C. & Sangiorgi, D. (2000) Behavioral equivalence in the polymorphic pi-calculus. J. ACM 47 (3), 531584.
Pierce, B. C. & Turner, D. N. (2000) Pict: A programming language based on the pi-calculus. In Proof, Language, and Interaction, Essays in Honour of Robin Milner, Plotkin, G. D., Stirling, C. and Tofte, M. (eds). Cambridge, MA: MIT Press, pp. 455494. ISBN: 978-0-262-16188-6.
Pitts, A. M. (2011) Structural recursion with locally scoped names. J. Funct. Program. 21 (3), 235286.
Sumii, E. & Kobayashi, N. (1998) A generalized deadlock-free process calculus. (High-Level Concurrent Languages (HLCL), 1998). Electron. Notes Theor. Comput. Sci. 16 (3), 225247.
Takeuchi, K., Honda, K. & Kubo, M. (1994) An interaction-based language and its typing system. In Proceedings of the 6th International PARLE Conference, Athens, Greece, Halatsis, C., Maritsas, D. G., Philokyprou, G. and Theodoridis, S. (eds), LNCS, vol. 817. Berlin, Germany: Springer-Verlag, pp. 398413.
Toninho, B., Caires, L. & Pfenning, F. (2012) Functions as session-typed processes. In Foundations of Software Science and Computation (FoSSaCS), pp. 346–360.
Toninho, B., Caires, L. & Pfenning, F. (2013) Higher-order processes, functions, and sessions: A monadic integration. In 22nd European Symposium on Programming (ESOP'13), Lecture Notes in Computer Science, vol. 7792. New York, NY: Springer, pp. 350369.
Turner, D. N. (1995) The Polymorphic Pi-Calculus: Theory and Implementation, PhD thesis, University of Edinburgh, Edinburgh, UK.
Vasconcelos, V. T. (2011) Sessions, from types to programming languages. Bull. Eur. Assoc. Theor. Comput. Sci. 103, 5373.
Wadler, P. (September 2012) Propositions as sessions. In International Conference on Functional Programming (ICFP), pp. 273–286.
Yoshida, N. & Vasconcelos, V. T. (2007) Language primitives and type discipline for structured communication-based programming revisited: Two systems for higher-order session communication. Electron. Notes Theor. Comput. Sci. 171 (4), 7393.
Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Journal of Functional Programming
  • ISSN: 0956-7968
  • EISSN: 1469-7653
  • URL: /core/journals/journal-of-functional-programming
Please enter your name
Please enter a valid email address
Who would you like to send this to? *
×

Metrics

Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed

Propositions as sessions*

  • PHILIP WADLER (a1)
Submit a response

Discussions

No Discussions have been published for this article.

×

Reply to: Submit a response


Your details


Conflicting interests

Do you have any conflicting interests? *