Polarized Substructural Session Types
The deep connection between session-typed concurrency and linear logic is embodied in the language SILL that integrates functional and message-passing concurrent programming. The exacting nature of linear typing provides strong guarantees, such as global progress, absence of deadlock, and race freedom, but it also requires explicit resource management by the programmer. This burden is alleviated in an affine type system where resources need not be used, relying on a simple form of garbage collection.
In this paper we show how to effectively support both linear and affine typing in a single language, in addition to the already present unrestricted (intuitionistic) types. The approach, based on Benton’s adjoint construction, suggests that the usual distinction between synchronous and asynchronous communication can be viewed through the lens of modal logic. We show how polarizing the propositions into positive and negative connectives allows us to elegantly express synchronization in the type instead of encoding it by extra-logical means.
KeywordsOperational Semantic Garbage Collection Linear Logic Process Expression Asynchronous Communication
- 2.Barber, A.: Dual intuitionistic linear logic. Tech. Rep. ECS-LFCS-96-347, Department of Computer Science, University of Edinburgh (September 1996)Google Scholar
- 6.Caires, L., Pfenning, F., Toninho, B.: Linear logic propositions as session types. Mathematical Structures in Computer Science (2013) (to appear ) Special Issue on Behavioural TypesGoogle Scholar
- 8.Chang, B.Y.E., Chaudhuri, K., Pfenning, F.: A judgmental analysis of linear logic. Tech. Rep. CMU-CS-03-131R, Carnegie Mellon University, Department of Computer Science (December 2003)Google Scholar
- 9.DeYoung, H., Caires, L., Pfenning, F., Toninho, B.: Cut reduction in linear logic as asynchronous session-typed communication. In: Cégielski, P., Durand, A. (eds.) Proceedings of the 21st Conference on Computer Science Logic, CSL 2012, Leibniz International Proceedings in Informatics, Fontainebleau, France, pp. 228–242 (September 2012)Google Scholar
- 13.Honda, K.: Types for dyadic interaction. In: Best, E. (ed.) CONCUR 1993. LNCS, vol. 715, pp. 509–523. Springer, Heidelberg (1993)Google Scholar
- 18.Reed, J.: A judgmental deconstruction of modal logic (2009) (unpublished manuscript)Google Scholar
- 19.Simmons, R.J.: Substructural Logical Specifications. Ph.D. thesis, Carnegie Mellon University, available as Technical Report CMU-CS-12-142 (November 2012)Google Scholar
- 20.Toninho, B.: A Logical Foundation for Session-based Concurrent Computation. Ph.D. thesis, Carnegie Mellon University and New University of Lisbon (2015) (in preparation)Google Scholar
- 22.Toninho, B., Caires, L., Pfenning, F.: Corecursion and non-divergence in session-typed processes. In: Proceedings of the 9th International Symposium on Trustworthy Global Computing (TGC 2014), Rome, Italy (September 2014) (to appear)Google Scholar
- 24.Wadler, P.: Propositions as sessions. In: Proceedings of the 17th International Conference on Functional Programming, ICFP 2012, pp. 273–286. ACM Press, Copenhagen (2012)Google Scholar