DeepAI AI Chat
Log In Sign Up

Flexible recovery of uniqueness and immutability (Extended Version)

06/30/2018
by   Paola Giannini, et al.
Victoria University of Wellington
Università di Genova
Università degli Studi del Piemonte Orientale
0

We present an imperative object calculus where types are annotated with qualifiers for aliasing and mutation control. There are two key novelties with respect to similar proposals. First, the type system is very expressive. Notably, it adopts the "recovery" approach, that is, using the type context to justify strengthening types, greatly improving its power by permitting to recover uniqueness and immutability properties even in presence of other references. This is achieved by rules which restrict the use of such other references in the portion of code which is recovered. Second, execution is modeled by a non standard operational model, where properties of qualifiers can be directly expressed on source terms, rather than as invariants on an auxiliary structure which mimics physical memory. Formally, this is achieved by the block construct, introducing local variable declarations, which, when evaluated, play the role of store.

READ FULL TEXT

page 1

page 2

page 3

page 4

03/15/2018

Tracing sharing in an imperative pure calculus (Extended Version)

We introduce a type and effect system, for an imperative object calculus...
04/23/2019

A Syntactic Model of Mutation and Aliasing

Traditionally, semantic models of imperative languages use an auxiliary ...
03/15/2018

Tracing sharing in an imperative pure calculus

We introduce a type and effect system, for an imperative object calculus...
05/25/2021

Tracking Captured Variables in Types

Type systems usually characterize the shape of values but not their free...
02/18/2020

ConSORT: Context- and Flow-Sensitive Ownership Refinement Types for Imperative Programs

We present ConSORT, a type system for safety verification in the presenc...
03/17/2018

An extended type system with lambda-typed lambda-expressions (extended version)

We present the type system d, an extended type system with lambda-typed ...
09/15/2022

Coeffects for Sharing and Mutation

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