Skip to content
Free planNo credit card requiredStart writing

article · Proceedings of the ACM on Programming Languages · 2019

A predicate transformer semantics for effects (functional pearl)

Wouter Swierstra, Tim Baanen

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

APA 7

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

MLA 9

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.

Chicago

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.

Harvard

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.

BibTeX
@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.