Tracking contextual program properties with structural coeffects

Tomas Petricek

Computing Laboratory
University of Cambridge

Thursday, 12 December 2013, 14:00
Cybernetica Bldg (Akadeemia tee 21), room B101

Abstract: Our previous work on "coeffect systems" introduced a mechanism for analyzing context-dependence properties in programs. The mechanism has proven useful for the analysis of liveness, caching requirements of causal dataflow and dynamic variable scoping. However, the mechanism has only limited practical usability for tracking context-requirements associated with individual variables.

In this talk, I'll give a quick overview of existing work on coeffect systems and then I'll introduce "structural coeffects". The extension captures additional information about the usage of free variables. This makes the analysis of liveness and dataflow more precise and also brings us closer to expressing linearity constraints.

(Joint work with Dominic Orchard and Alan Mycroft.)

Tarmo Uustalu
Last update 7.12.2013