Generic Hoare logic for order-enriched effects with exceptions

Christoph Rauch*, Sergey Goncharov, Lutz Schröder

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

In programming semantics, monads are used to provide a generic encapsulation of side-effects. We introduce a monad-based metalanguage that extends Moggi’s computational metalanguage with native exceptions and iteration, interpreted over monads supporting a dcpo structure. We present a Hoare calculus with abnormal postconditions for this metalanguage and prove relative completeness using weakest liberal preconditions, extending earlier work on the exception-free case.

Original languageEnglish
Title of host publicationRecent Trends in Algebraic Development Techniques - 23rd IFIP WG 1.3 International Workshop, WADT 2016, Revised Selected Papers
EditorsPhillip James, Markus Roggenbach
PublisherSpringer Verlag
Pages208-222
Number of pages15
ISBN (Print)9783319720432
DOIs
Publication statusPublished - 2017
Event23rd IFIP WG 1.3 International Workshop on Algebraic Development Techniques, WADT 2016 - Gregynog, United Kingdom
Duration: 21 Sept 201624 Sept 2016

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume10644 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference23rd IFIP WG 1.3 International Workshop on Algebraic Development Techniques, WADT 2016
Country/TerritoryUnited Kingdom
CityGregynog
Period21/09/1624/09/16

Bibliographical note

Publisher Copyright:
© IFIP International Federation for Information Processing 2017 Published by Springer International Publishing AG 2017. All Rights Reserved.

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'Generic Hoare logic for order-enriched effects with exceptions'. Together they form a unique fingerprint.

Cite this