International Conference on Functional Programming 2017

Chaperone Contracts for Higher-Order Sessions


Listen Later

Hernan Melgratti (University of Buenos Aires, Argentina), gives the first talk in the third panel, Contracts and Sessions, on the 3rd day of the ICFP conference. Co-written by Luca Padovani (University of Turin, Italy).
Contracts have proved to be an effective mechanism that helps developers in identifying those modules of a program that violate the contracts of the functions and objects they use. In recent years, sessions have established as a key mechanism for realizing inter-module communications in concurrent programs. Just like values flow into or out of a function or object, messages are sent on, and received from, a session endpoint. Unlike conventional functions and objects, however, the kind, direction, and properties of messages exchanged in a session may vary over time, as the session progresses. This feature of sessions calls for contracts that evolve along with the session they describe.
In this work, we extend to sessions the notion of chaperone contract (roughly, a contract that applies to a mutable object) and investigate the ramifications of contract monitoring in a higher-order language that features sessions. We give a characterization of correct module, one that honors the contracts of the sessions it uses, and prove a blame theorem. Guided by the calculus, we describe a lightweight implementation of monitored sessions as an OCaml module with which programmers can benefit from static session type checking and dynamic contract monitoring using an off-the-shelf version of OCaml. Creative Commons Attribution-Non-Commercial-Share Alike 2.0 UK: England & Wales; http://creativecommons.org/licenses/by-nc-sa/2.0/uk/
...more
View all episodesView all episodes
Download on the App Store

International Conference on Functional Programming 2017By Oxford University


More shows like International Conference on Functional Programming 2017

View all
General Philosophy by Oxford University

General Philosophy

69 Listeners

Anthropology by Oxford University

Anthropology

75 Listeners

Philosophy for Beginners by Oxford University

Philosophy for Beginners

322 Listeners

Approaching Shakespeare by Oxford University

Approaching Shakespeare

329 Listeners

Aesthetics and Philosophy of Art lectures by Oxford University

Aesthetics and Philosophy of Art lectures

76 Listeners

Kant's Critique of Pure Reason by Oxford University

Kant's Critique of Pure Reason

76 Listeners

The Secrets of Mathematics by Oxford University

The Secrets of Mathematics

41 Listeners

Oxford Physics Public Lectures by Oxford University

Oxford Physics Public Lectures

10 Listeners

Theoretical Physics - From Outer Space to Plasma by Oxford University

Theoretical Physics - From Outer Space to Plasma

59 Listeners

Professor of Poetry by Oxford University

Professor of Poetry

24 Listeners