Skip to main content Accessibility help
×
Home

Propositions as sessions*

Published online by Cambridge University Press:  31 January 2014

PHILIP WADLER
Affiliation:
University of Edinburgh, South Bridge, Edinburgh EH8 9YL, UK (email: wadler@inf.ed.ac.uk)
Corresponding
E-mail address:
Rights & Permissions[Opens in a new window]

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.

Type
Articles
Copyright
Copyright © Cambridge University Press 2014 

Footnotes

*

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

References

Abramsky, S. (1993) Computational interpretations of linear logic. Theor. Comput. Sci. 111 (1&2), 357.CrossRefGoogle Scholar
Abramsky, S. (1994) Proofs as processes. Theor. Comput. Sci. 135 (1), 59.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
Bellin, G. & Scott, P. J. (1994) On the pi-calculus and linear logic. Theor. Comput. Sci. 135 (1), 1165.CrossRefGoogle Scholar
Benton, N. & Wadler, P. (1996) Linear logic, monads and the lambda calculus. In Logic in Computer Science (LICS), pp. 420–431.Google Scholar
Berger, M., Honda, K. & Yoshida, N. (2005) Genericity and the pi-calculus. Acta Inform. 42 (2–3), 83141.CrossRefGoogle Scholar
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.Google Scholar
Caires, L. & Pfenning, F. (2010) Session types as intuitionistic linear propositions. In 21st International Conference on Concurrency Theory (CONCUR 2010), Paris, France, pp. 222236.CrossRefGoogle Scholar
Caires, L., Pfenning, F. & Toninho, B. (January 2012a) Towards concurrent type theory. In Types in Language Design and Implementation (TLDI), pp. 1–12.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
Gallier, J. H. (1990) On Girard's “Candidats de Reducibilité”. Academic Press, pp. 123204.Google Scholar
Gay, S. J. & Hole, M. (2005) Subtyping for session types in the pi calculus. Acta Inform., 42 (2–3), 191225.CrossRefGoogle Scholar
Gay, S. J. & Vasconcelos, V. T. (2010) Linear type theory for asynchronous session types. J. Funct. Program. 20 (1), 1950.CrossRefGoogle Scholar
Girard, J.-Y. (1987) Linear logic. Theor. Comput. Sci. 50, 1102.CrossRefGoogle Scholar
Girard, J.-Y. (1991) A new constructive logic: Classical logic. Math. Struct. Comput. Sci. 1 (3), 255296.CrossRefGoogle Scholar
Girard, J.-Y., Lafont, Y. & Taylor, P. (1989) Proofs and Types, Cambridge Tracts in Theoretical Computer Science, vol. 7. Cambridge, UK: Cambridge University Press.Google Scholar
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.Google Scholar
Honda, K. (1993) Types for dyadic interaction. In Proceedings of the 4th International Conference on Concurrency Theory (CONCUR 1993), Hildesheim, Germany, pp. 509523.Google Scholar
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.Google Scholar
Honda, K., Yoshida, N. & Carbone, M. (2008) Multiparty asynchronous session types. In Symposium on Principles of Programming Languages (POPL 2008), pp. 273–284.Google Scholar
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.Google Scholar
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.Google Scholar
Kobayashi, N. & Yonezawa, A. (1993) ACL – A concurrent linear logic programming paradigm. In International Logic Programming Symposium (ILPS), pp. 279–294.Google Scholar
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.Google Scholar
Kobayashi, N. & Yonezawa, A. (1995) Asynchronous communication model based on linear logic. Form. Asp. Comput. 7 (2), 113149.CrossRefGoogle Scholar
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.Google Scholar
Merro, M. & Sangiorgi, D. (2004) On asynchrony in name-passing calculi. Math. Struct. Comput. Sci. 14 (5), 715767.CrossRefGoogle Scholar
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.Google Scholar
Milner, R., Parrow, J. & Walker, D. (1992) A calculus of mobile processes, i. Inf. Comput. 100 (1), 140.CrossRefGoogle Scholar
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.Google Scholar
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.CrossRefGoogle Scholar
Pierce, B. C. & Sangiorgi, D. (2000) Behavioral equivalence in the polymorphic pi-calculus. J. ACM 47 (3), 531584.CrossRefGoogle Scholar
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.Google Scholar
Pitts, A. M. (2011) Structural recursion with locally scoped names. J. Funct. Program. 21 (3), 235286.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
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.Google Scholar
Toninho, B., Caires, L. & Pfenning, F. (2012) Functions as session-typed processes. In Foundations of Software Science and Computation (FoSSaCS), pp. 346–360.Google Scholar
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.Google Scholar
Turner, D. N. (1995) The Polymorphic Pi-Calculus: Theory and Implementation, PhD thesis, University of Edinburgh, Edinburgh, UK.Google Scholar
Vasconcelos, V. T. (2011) Sessions, from types to programming languages. Bull. Eur. Assoc. Theor. Comput. Sci. 103, 5373.Google Scholar
Wadler, P. (September 2012) Propositions as sessions. In International Conference on Functional Programming (ICFP), pp. 273–286.Google Scholar
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.CrossRefGoogle Scholar
Submit a response

Discussions

No Discussions have been published for this article.

Altmetric attention score

Full text views

Full text views reflects PDF downloads, PDFs sent to Google Drive, Dropbox and Kindle and HTML full text views.

Total number of HTML views: 0
Total number of PDF views: 380 *
View data table for this chart

* Views captured on Cambridge Core between September 2016 - 26th January 2021. This data will be updated every 24 hours.

Access
Hostname: page-component-898fc554b-z76t5 Total loading time: 0.397 Render date: 2021-01-26T07:05:16.308Z Query parameters: { "hasAccess": "1", "openAccess": "0", "isLogged": "0", "lang": "en" } Feature Flags: { "shouldUseShareProductTool": true, "shouldUseHypothesis": true, "isUnsiloEnabled": true, "metricsAbstractViews": false, "figures": false, "newCiteModal": false }

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
×
×

Reply to: Submit a response


Your details


Conflicting interests

Do you have any conflicting interests? *