Tracing sharing in an imperative pure calculus (Extended Version)

by   Paola Giannini, et al.

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.


page 1

page 2

page 3

page 4


Tracing sharing in an imperative pure calculus

We introduce a type and effect system, for an imperative object calculus...

Flexible recovery of uniqueness and immutability (Extended Version)

We present an imperative object calculus where types are annotated with ...

The C_π-calculus: a Model for Confidential Name Passing

Sharing confidential information in distributed systems is a necessity i...

Coeffects for Sharing and Mutation

In type-and-coeffect systems, contexts are enriched by coeffects modelin...

A Syntactic Model of Mutation and Aliasing

Traditionally, semantic models of imperative languages use an auxiliary ...

Graph IRs for Impure Higher-Order Languages (Technical Report)

This is a companion report for the OOPSLA 2023 paper of the same title, ...

An impure solution to the problem of matching fans

We present an algorithm to solve the problem of matching fans in interac...

Please sign up or login with your details

Forgot password? Click here to reset