Combining predicate transformer semantics for effects: A case study in parsing regular languages

Anne Baanen, Wouter Swierstra

Research output: Contribution to JournalArticleAcademicpeer-review

Abstract

This paper describes how to verify a parser for regular expressions in a functional programming language using predicate transformer semantics for a variety of effects. Where our previous work in this area focused on the semantics for a single effect, parsing requires a combination of effects: non-determinism, general recursion and mutable state. Reasoning about such combinations of effects is notoriously difficult, yet our approach using predicate transformers enables the careful separation of program syntax, correctness proofs and termination proofs.

Original languageEnglish
Pages (from-to)39-56
Number of pages18
JournalElectronic Proceedings in Theoretical Computer Science, EPTCS
Volume317
DOIs
Publication statusPublished - 1 May 2020
Event8th Workshop on Mathematically Structured Functional Programming, MSFP 2020 - Dublin, Ireland
Duration: 25 Apr 2020 → …

Fingerprint

Dive into the research topics of 'Combining predicate transformer semantics for effects: A case study in parsing regular languages'. Together they form a unique fingerprint.

Cite this