2017
DOI: 10.1145/3158089
|View full text |Cite
|
Sign up to set email alerts
|

Synthesizing bijective lenses

Abstract: Bidirectional transformations between different data representations occur frequently in modern software systems. They appear as serializers and deserializers, as parsers and pretty printers, as database views and view updaters, and as a multitude of different kinds of ad hoc data converters. Manually building bidirectional transformationsÐby writing two separate functions that are intended to be inversesÐis tedious and error prone. A better approach is to use a domain-specific language in which both direction… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
19
0

Year Published

2018
2018
2023
2023

Publication Types

Select...
4
4

Relationship

1
7

Authors

Journals

citations
Cited by 26 publications
(19 citation statements)
references
References 36 publications
0
19
0
Order By: Relevance
“…Our work follows the tradition of program synthesis for various data-manipulation tasks, e.g., [Gulwani et al 2012;Le and Gulwani 2014,? ;Miltner et al 2018;Polozov and Gulwani 2015;Smith and Albarghouthi 2016;Wang et al 2017a,b;Yaghmazadeh et al 2017;Zhang and Sun 2013]. Perhaps the most closely related work to ours is Bigλ [Smith and Albarghouthi 2016], which targets data-analysis programs composed of higher-order combinators like map and reduce.…”
Section: ])mentioning
confidence: 94%
“…Our work follows the tradition of program synthesis for various data-manipulation tasks, e.g., [Gulwani et al 2012;Le and Gulwani 2014,? ;Miltner et al 2018;Polozov and Gulwani 2015;Smith and Albarghouthi 2016;Wang et al 2017a,b;Yaghmazadeh et al 2017;Zhang and Sun 2013]. Perhaps the most closely related work to ours is Bigλ [Smith and Albarghouthi 2016], which targets data-analysis programs composed of higher-order combinators like map and reduce.…”
Section: ])mentioning
confidence: 94%
“…While Boomerang originally synthesized functions that assumed that every source value had a canonical target representation, it has since been extended with quotient lenses that relax this restriction . The recently developed Optician tool [Miltner et al 2017] synthesizes Boomerang programs that implement bijective string transformations from regular expressions describing source and target formats and sets of user-provided disambiguating examples. The format-decoding problem differs from the lens setting in that lenses consider how to recover a new source value from an updated target value given full knowledge of the old source value, while decoding must work given only a single target value.…”
Section: Related Workmentioning
confidence: 99%
“…SyGuS [2] is applied to various tasks related to program synthesis, e.g., [13,17,25,33,35,41]. However, the formal grammar in those applications is typically given or constructed from user-provided examples.…”
Section: Related Workmentioning
confidence: 99%