Dijkstra monads for all

K Maillard, D Ahman, R Atkey, G Martínez… - Proceedings of the …, 2019 - dl.acm.org
This paper proposes a general semantic framework for verifying programs with arbitrary
monadic side-effects using Dijkstra monads, which we define as monad-like structures …

A Hoare Logic for the State Monad: Proof Pearl

W Swierstra - International Conference on Theorem Proving in …, 2009 - Springer
This pearl examines how to verify functional programs written using the state monad. It uses
Coq's Program framework to provide strong specifications for the standard operations that …

Verifying higher-order programs with the Dijkstra monad

N Swamy, J Weinberger, C Schlesinger, J Chen… - ACM SIGPLAN …, 2013 - dl.acm.org
Modern programming languages, ranging from Haskell and ML, to JavaScript, C# and Java,
all make extensive use of higher-order state. This paper advocates a new verification …

Total haskell is reasonable coq

A Spector-Zabusky, J Breitner, C Rizkallah… - Proceedings of the 7th …, 2018 - dl.acm.org
We would like to use the Coq proof assistant to mechanically verify properties of Haskell
programs. To that end, we present a tool, named hs-to-coq, that translates total Haskell …

Dijkstra monads forever: termination-sensitive specifications for interaction trees

L Silver, S Zdancewic - Proceedings of the ACM on Programming …, 2021 - dl.acm.org
This paper extends the Dijkstra monad framework, designed for writing specifications over
effectful programs using monadic effects, to handle termination sensitive specifications over …

Recalling a witness: foundations and applications of monotonic state

D Ahman, C Fournet, C Hriţcu, K Maillard… - Proceedings of the …, 2017 - dl.acm.org
We provide a way to ease the verification of programs whose state evolves monotonically.
The main idea is that a property witnessed in a prior state can be soundly recalled in the …

Modular denotational semantics for compiler construction

S Liang, P Hudak - European Symposium on Programming, 1996 - Springer
We show the benefits of applying modular monadic semantics to compiler construction.
Modular monadic semantics allows us to define a language with a rich set of features from …

A relatively complete generic Hoare logic for order-enriched effects

S Goncharov, L Schröder - … ACM/IEEE Symposium on Logic in …, 2013 - ieeexplore.ieee.org
Monads are the basis of a well-established method of encapsulating side-effects in
semantics and programming. There have been a number of proposals for monadic program …

Compiler verification meets cross-language linking via data abstraction

P Wang, S Cuellar, A Chlipala - ACM SIGPLAN Notices, 2014 - dl.acm.org
Many real programs are written in multiple different programming languages, and supporting
this pattern creates challenges for formal compiler verification. We describe our Coq …

[图书][B] Modular monadic semantics and compilation

S Liang - 1998 - search.proquest.com
Modular monadic semantics is a high-level and modular form of denotational semantics. It is
capable of capturing individual programming language features and their interactions. This …