@article{GianniniRichterServettoetal.2018, author = {Giannini, Paola and Richter, Tim and Servetto, Marco and Zucca, Elena}, title = {Tracing sharing in an imperative pure calculus}, series = {Science of computer programming}, volume = {172}, journal = {Science of computer programming}, publisher = {Elsevier}, address = {Amsterdam}, issn = {0167-6423}, doi = {10.1016/j.scico.2018.11.007}, pages = {180 -- 202}, year = {2018}, 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 behaviorally equivalent standard model using a global auxiliary structure is that reachability relations among references are partly encoded by scoping. (C) 2018 Elsevier B.V. All rights reserved.}, language = {en} }