Abstract
We introduce coexponentials, a new set of modalities for Classical Linear Logic. As duals to exponentials, the coexponentials codify a distributed form of the structural rules of weakening and contraction. This makes them a suitable logical device for encapsulating the pattern of a server receiving requests from an arbitrary number of clients on a single channel. Guided by this intuition we formulate a system of session types based on Classical Linear Logic with coexponentials, which is suited to modelling client-server interactions. We also present a session-typed functional programming language for client-server programming, which we translate to our system of coexponentials.
Highlights
The programme of session types [Honda et al 1998; Vasconcelos 2012] aims to formulate behavioural type systems that capture the notion of a sessionÐa structured, concurrent interaction between communicating agents
Our work shows that something akin to the costructural rules of Differential Linear Logic (DiLL) arises from the wish to form client pools
We presented the system of Client-Server Linear Logic, which features a novel form of modality, the coexponentials
Summary
The programme of session types [Honda et al 1998; Vasconcelos 2012] aims to formulate behavioural type systems that capture the notion of a sessionÐa structured, concurrent interaction between communicating agents. Ever since its inception it has been clear that linear logic [Girard 1987] has a deep and mystifying relationship with concurrency. Abramsky [1994] argued that π-calculi [Milner et al 1992] and linear logic should be in a Curry-Howard correspondence [Bellin and Scott 1994]. One should be able to use formulas of linear logic as types that specify concurrent interactions, thereby constructing a system of session types that is logically motivated. Session types and linear types have recently undergone a swift rapprochement beginning with the work of Caires and Pfenning [Caires and Pfenning 2010; Caires et al 2016]
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.