Tracing sharing in an imperative pure calculus (Extended Version)
Paola Giannini, Tim Richter, Marco Servetto, Elena Zucca

TL;DR
This paper presents a type and effect system for an imperative object calculus that infers sharing effects directly at the syntactic level, enabling natural expression and generalization of concepts like uniqueness and borrowing.
Contribution
It introduces a pure calculus with a novel effect system that captures sharing effects through variable equivalence, simplifying reasoning about reference reachability.
Findings
Effect system accurately infers sharing effects
Pure calculus encodes store directly in language terms
Scoping encodes reachability relations
Abstract
We introduce a type and effect system, for an imperative object calculus, which infers "sharing" possibly introduced by the evaluation of an expression, represented as an equivalence relation among its free variables. This direct representation of sharing effects at the syntactic level allows us to express in a natural way, and to generalize, widely-used notions in literature, notably "uniqueness" and "borrowing". Moreover, the calculus is "pure" in the sense that reduction is defined on language terms only, since they directly encode store. The advantage of this non-standard execution model with respect to a behaviourally equivalent standard model using a global auxiliary structure is that reachability relations among references are partly encoded by scoping.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Logic, Reasoning, and Knowledge · Advanced Database Systems and Queries
