2018
DOI: 10.1145/3236775
|View full text |Cite
|
Sign up to set email alerts
|

Synthesizing quotient lenses

Abstract: Quotient lenses are bidirectional transformations whose correctness laws are łloosenedž by specified equivalence relations, allowing inessential details in concrete data formats to be suppressed. For example, a programmer could use a quotient lens to define a transformation that ignores the order of fields in XML data, so that two XML files with the same fields but in different orders would be considered the same, allowing a single, simple program to handle them both. Building on a recently published algorithm… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
11
0

Year Published

2018
2018
2022
2022

Publication Types

Select...
4
1
1

Relationship

1
5

Authors

Journals

citations
Cited by 10 publications
(11 citation statements)
references
References 25 publications
(19 reference statements)
0
11
0
Order By: Relevance
“…We also show they are expressive enough for many practical uses by adding simple symmetric lenses to the Boomerang language [Bohannon et al 2008] and applying them to a range of real-world applications. This exercise also demonstrates that simple symmetric lenses can coexist with, and be extended by, other advanced lens features provided by Boomerang, including quotient lenses Maina et al 2018] and matching lenses [Barbosa et al 2010].…”
Section: Introductionmentioning
confidence: 78%
See 2 more Smart Citations
“…We also show they are expressive enough for many practical uses by adding simple symmetric lenses to the Boomerang language [Bohannon et al 2008] and applying them to a range of real-world applications. This exercise also demonstrates that simple symmetric lenses can coexist with, and be extended by, other advanced lens features provided by Boomerang, including quotient lenses Maina et al 2018] and matching lenses [Barbosa et al 2010].…”
Section: Introductionmentioning
confidence: 78%
“…Following existing work on bidirectional program synthesis [Maina et al 2018], we split our algorithm into two communicating search procedures. The first, Expand, navigates the space of semantically equivalent regular expressions by applying rewrite rules that preserve both semantics and probability distributions.…”
Section: Searching For Likely Lensesmentioning
confidence: 99%
See 1 more Smart Citation
“…In this respect, our method is similar to prior efforts on compositional program synthesis [Feser et al 2015;Maina et al 2018;Phothilimthana et al 2016;Polikarpova et al 2016;Polozov and Gulwani 2015;Raza et al 2015]. Among these techniques, λ 2 uses domain knowledge about the DSL constructs to infer input-output examples for sub-expressions whenever feasible [Feser et al 2015], FlashMeta (and its variants) use inverse semantics of DSL constructs to propagate examples backwards [Polozov and Gulwani 2015], and Optician [Maina et al 2018;] decomposes the synthesis process using DNF regular expression outlines. Synqid also tries to decompose the overall specification into sub-goals using a technique referred to as "round-trip type checking" [Polikarpova et al 2016].…”
Section: Related Workmentioning
confidence: 99%
“…The "point-free" combinator-style programming model-which prohibits giving names to the results of intermediate computations-can pose significant usability challenges. One line of recourse is to forgo programming transformations at all, instead synthesizing them from specifications of the desired input and output data formats and examples connecting the two; and Maina et al [2018] present such techniques for useful classes of bidirectional string transformations. Several other approaches aim to provide programming conveniences for writing bidirectional transformations.…”
Section: Related Workmentioning
confidence: 99%