Saved in:
Bibliographic Details
Main Authors: Møgelberg, Rasmus Ejlers, Zwart, Maaike
Format: Preprint
Published: 2023
Subjects:
Online Access:https://arxiv.org/abs/2311.15919
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866908592380051456
author Møgelberg, Rasmus Ejlers
Zwart, Maaike
author_facet Møgelberg, Rasmus Ejlers
Zwart, Maaike
contents The delay monad provides a way to introduce general recursion in type theory. To write programs that use a wide range of computational effects directly in type theory, we need to combine the delay monad with the monads of these effects. Here we present a first systematic study of such combinations. We study both the coinductive delay monad and its guarded recursive cousin, giving concrete examples of combining these with well-known computational effects. We also provide general theorems stating which algebraic effects distribute over the delay monad, and which do not. Lastly, we salvage some of the impossible cases by considering distributive laws up to weak bisimilarity.
format Preprint
id arxiv_https___arxiv_org_abs_2311_15919
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle What Monads Can and Cannot Do with a Few Extra Pages
Møgelberg, Rasmus Ejlers
Zwart, Maaike
Logic in Computer Science
The delay monad provides a way to introduce general recursion in type theory. To write programs that use a wide range of computational effects directly in type theory, we need to combine the delay monad with the monads of these effects. Here we present a first systematic study of such combinations. We study both the coinductive delay monad and its guarded recursive cousin, giving concrete examples of combining these with well-known computational effects. We also provide general theorems stating which algebraic effects distribute over the delay monad, and which do not. Lastly, we salvage some of the impossible cases by considering distributive laws up to weak bisimilarity.
title What Monads Can and Cannot Do with a Few Extra Pages
topic Logic in Computer Science
url https://arxiv.org/abs/2311.15919