Affiliation:
1. Utrecht University, Netherlands
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.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
9 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Shoggoth: A Formal Foundation for Strategic Rewriting;Proceedings of the ACM on Programming Languages;2024-01-05
2. Securing Verified IO Programs Against Unverified Code in F*;Proceedings of the ACM on Programming Languages;2024-01-05
3. Program adverbs and Tlön embeddings;Proceedings of the ACM on Programming Languages;2022-08-29
4. Formal reasoning about layered monadic interpreters;Proceedings of the ACM on Programming Languages;2022-08-29
5. Weighted programming: a programming paradigm for specifying mathematical models;Proceedings of the ACM on Programming Languages;2022-04-29