Abstract

In this talk I will present the first part of the work in our recent ICFP’15 draft, explaining how contract monitors interact with the underlying user evaluator, and how this interaction can be abstracted for programer flexibility. We present a new approach to contract semantics which express these monitoring strategies using a small core of foundational communication primitives. This approach allows multiple existing contract monitoring approaches, ranging from Findler and Felleisen’s original model of higher-order contracts to semi-eager, parallel, or asynchronous monitors, to be expressed in a single language built on well-understood constructs.