Abstract
We give a denotational semantics for a region-based effect system that supports type abstraction in the sense that only externally visible effects need to be tracked: non-observable internal modifications, such as the reorganisation of a search tree or lazy initialisation, can count as 'pure' or 'read only'. This 'fictional purity' allows clients of a module to validate soundly more effect-based program equivalences than would be possible with previous semantics. Our semantics uses a novel variant of logical relations that maps types not merely to partial equivalence relations on values, as is commonly done, but rather to a proof-relevant generalisation thereof, namely setoids. The objects of a setoid establish that values inhabit semantic types, whilst its morphisms are understood as proofs of semantic equivalence. The transition to proof-relevance solves two awkward problems caused by naive use of existential quantification in Kripke logical relations, namely failure of admissibility and spurious functional dependencies.
Author supplied keywords
Cite
CITATION STYLE
Benton, N., Hofmann, M., & Nigam, V. (2014). Abstract effects and proof-relevant logical relations. In ACM SIGPLAN Notices (Vol. 49, pp. 619–631). https://doi.org/10.1145/2578855.2535869
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.