2019
DOI: 10.1007/978-3-030-17184-1_6
|View full text |Cite
|
Sign up to set email alerts
|

Composing Bidirectional Programs Monadically

Abstract: Software frequently converts data from one representation to another and vice versa. Naïvely specifying both conversion directions separately is error prone and introduces conceptual duplication. Instead, bidirectional programming techniques allow programs to be written which can be interpreted in both directions. However, these techniques often employ unfamiliar programming idioms via restricted, specialised combinator libraries. Instead, we introduce a framework for composing bidirectional programs monadical… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1

Citation Types

0
1
0

Year Published

2023
2023
2024
2024

Publication Types

Select...
2
1

Relationship

0
3

Authors

Journals

citations
Cited by 3 publications
(1 citation statement)
references
References 37 publications
0
1
0
Order By: Relevance
“…Another approach is to wrap the return type of get and put in the Maybe monad to remove partiality (Matsuda & Wang, 2015a;Ko et al, 2016;Xia et al, 2019). The put direction is a total function of type s → v → Maybe s, and it returns Nothing at run-time when an invalid input is passed to it.…”
Section: Totality With Maybe Monadmentioning
confidence: 99%
“…Another approach is to wrap the return type of get and put in the Maybe monad to remove partiality (Matsuda & Wang, 2015a;Ko et al, 2016;Xia et al, 2019). The put direction is a total function of type s → v → Maybe s, and it returns Nothing at run-time when an invalid input is passed to it.…”
Section: Totality With Maybe Monadmentioning
confidence: 99%