A predicate transformer semantics for effects (functional pearl)

Wouter Swierstra, Tim Baanen. A predicate transformer semantics for effects (functional pearl). Proceedings of the ACM on Programming Languages, 3(ICFP), 2019. [doi]