article · Proceedings of the ACM on Programming Languages · 2019
A predicate transformer semantics for effects (functional pearl)
Cited by 17Open access
Abstract
Reasoning about programs that use effects can be much harder than reasoning about their pure counterparts. This paper presents a predicate transformer semantics for a variety of effects, including exceptions, state, non-determinism, and general recursion. The predicate transformer semantics gives rise to a refinement relation that can be used to relate a program to its specification, or even calculate effectful programs that are correct by construction.
Cite this paper
Swierstra, W., & Baanen, T. (2019). A predicate transformer semantics for effects (functional pearl). Proceedings of the ACM on Programming Languages, 3(ICFP), 1–26. https://doi.org/10.1145/3341707
Swierstra, Wouter, and Tim Baanen. “A predicate transformer semantics for effects (functional pearl).” Proceedings of the ACM on Programming Languages, vol. 3, no. ICFP, 2019, pp. 1–26, https://doi.org/10.1145/3341707.
Swierstra, Wouter, and Tim Baanen. 2019. “A predicate transformer semantics for effects (functional pearl).” Proceedings of the ACM on Programming Languages 3 (ICFP): 1–26. https://doi.org/10.1145/3341707.
Swierstra, W. and Baanen, T. (2019) ‘A predicate transformer semantics for effects (functional pearl)’, Proceedings of the ACM on Programming Languages, 3(ICFP), pp. 1–26. Available at: https://doi.org/10.1145/3341707.
@article{swierstra2019predicate,
title = {{A predicate transformer semantics for effects (functional pearl)}},
author = {Swierstra, Wouter and Baanen, Tim},
journal = {Proceedings of the ACM on Programming Languages},
volume = {3},
number = {ICFP},
pages = {1--26},
year = {2019},
doi = {10.1145/3341707}
}Made from the index record. Check names, capitalisation and page numbers against the paper. Need another style? AI for Research has over 10,000.