IMP with exceptions over decorated logic
Résumé
In this paper, we facilitate the reasoning about impure programming languages, by annotating terms with " decorations " that describe what computational (side) effect evaluation of a term may involve. In a point-free categorical language, called the " decorated logic " , we formalize the mutable state and the exception effects first separately, exploiting a nice duality between them, and then combined. The combined decorated logic is used as the target language for the denotational semantics of the IMP+Exc imperative programming language, and allows us to prove equivalences between programs written in IMP+Exc. The combined logic is encoded in Coq, and this encoding is used to certify some program equivalence proofs.
Origine | Fichiers produits par l'(les) auteur(s) |
---|