The type and effect discipline
Information and Computation
Typed memory management via static capabilities
ACM Transactions on Programming Languages and Systems (TOPLAS)
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Principles of Program Analysis
Principles of Program Analysis
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Contextual effects for version-consistent dynamic software updating and safe concurrent programming
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Types and trace effects of higher order programs
Journal of Functional Programming
Hi-index | 0.00 |
A contextual effectsystem generalizes standard type and effect systems: where a standard effect system computes the effect of an expression e, a contextual effect system additionally computes the priorand futureeffect of e, which characterize the behavior of computation prior to and following, respectively, the evaluation of e. This paper describes the formalization and proof of soundness of contextual effects, which we mechanized using the Coq proof assistant. Contextual effect soundness is an unusual property because the prior and future effect of a term edepends not on eitself (or its evaluation), but rather on the evaluation of the context in which eappears. Therefore, to state and prove soundness we must "match up" a subterm in the original typing derivation with the possibly-many evaluations of that subterm during the evaluation of the program, in a way that is robust under substitution. We do this using a novel typed operational semantics. We conjecture that our approach could prove useful for reasoning about other properties of derivations that rely on the context in which that derivation appears.