This HTML5 document contains 39 embedded RDF statements represented using HTML+Microdata notation.

The embedded RDF content will be recognized by any processor of HTML5 Microdata.

Namespace Prefixes

PrefixIRI
dctermshttp://purl.org/dc/terms/
n6doi:10.1007/
n2https://kar.kent.ac.uk/id/eprint/
wdrshttp://www.w3.org/2007/05/powder-s#
n20http://purl.org/ontology/bibo/status/
dchttp://purl.org/dc/elements/1.1/
rdfshttp://www.w3.org/2000/01/rdf-schema#
n11https://kar.kent.ac.uk/id/subject/
n22https://demo.openlinksw.com/about/id/entity/https/raw.githubusercontent.com/annajordanous/CO644Files/main/
n3http://eprints.org/ontology/
n19https://kar.kent.ac.uk/id/eprint/72625#
n15https://kar.kent.ac.uk/id/event/
bibohttp://purl.org/ontology/bibo/
n21https://kar.kent.ac.uk/id/publication/
n18https://kar.kent.ac.uk/id/org/
rdfhttp://www.w3.org/1999/02/22-rdf-syntax-ns#
owlhttp://www.w3.org/2002/07/owl#
n17https://kar.kent.ac.uk/72625/
n4https://kar.kent.ac.uk/id/document/
n8https://kar.kent.ac.uk/id/
xsdhhttp://www.w3.org/2001/XMLSchema#
n14https://demo.openlinksw.com/about/id/entity/https/www.cs.kent.ac.uk/people/staff/akj22/materials/CO644/
n9https://kar.kent.ac.uk/id/person/

Statements

Subject Item
n2:72625
rdf:type
n3:ArticleEPrint bibo:AcademicArticle bibo:Article n3:EPrint
rdfs:seeAlso
n17:
owl:sameAs
n6:978-3-030-17184-1_6
n3:hasAccepted
n4:3169448
n3:hasDocument
n4:3169519 n4:3169520 n4:3169521 n4:3169522 n4:3169448 n4:3177595 n4:3177596 n4:3177597 n4:3177598 n4:3177599 n4:3169485 n4:3177600
n3:hasPublished
n4:3177595
dc:hasVersion
n4:3177595 n4:3169448
dcterms:title
Composing bidirectional programs monadically
wdrs:describedby
n14:export_kar_RDFN3.n3 n22:export_kar_RDFN3.n3
dcterms:date
2019-04-06
dcterms:creator
n9:ext-d.a.orchard@kent.ac.uk n9:ext-meng.wang@bristol.ac.uk n9:ext-xialiyao@seas.upenn.edu
bibo:status
n20:peerReviewed n20:published
dcterms:publisher
n18:ext-1c5ddec173ca8cdfba8b274309638579
bibo:abstract
Software frequently converts data from one representation to another and vice versa. Naively 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 monadically, enabling bidirectional programming with familiar abstractions in functional languages such as Haskell. We demonstrate the generality of our approach applied to parsers/printers, lenses, and generators/predicates. We show how to leverage compositionality and equational reasoning for the verification of round-tripping properties for such monadic bidirectional programs.
dcterms:isPartOf
n8:repository n21:ext-03029743
dcterms:subject
n11:QA76
bibo:authorList
n19:authors
bibo:presentedAt
n15:ext-57410602d75da478cbf24051c472b618
bibo:volume
11423