2019
DOI: 10.1145/3341699
|View full text |Cite
|
Sign up to set email alerts
|

Synthesizing symmetric lenses

Abstract: Lenses are programs that can be run both "front to back" and "back to front, " allowing updates to either their source or their target data to be transferred in both directions. Since their introduction by Foster et al., lenses have been extensively studied, extended, and applied. Recent work has also demonstrated how techniques from type-directed program synthesis can be used to efficiently synthesize a simple class of lenses-so-called bijective lenses over string data-given a pair of types (regular expressio… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
14
0

Year Published

2020
2020
2023
2023

Publication Types

Select...
4
3

Relationship

0
7

Authors

Journals

citations
Cited by 17 publications
(14 citation statements)
references
References 32 publications
0
14
0
Order By: Relevance
“…The above set-up may sound reasonable but actually omits important internal details. Optician internally tries to expand 𝑟 * into either 𝑟𝑟 * |𝜀 or 𝑟 * 𝑟 |𝜀 nondeterministically (Miltner et al 2019), which eventually transforms 𝑟𝑟 * (head-biased non-empty lists) into 𝑟 (𝑟 * 𝑟 |𝜀) = 𝑟𝑟 * 𝑟 |𝑟 (one-step expansions of last-biased nonempty lists). The core transformation involves no structural transformations after this expansion.…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…The above set-up may sound reasonable but actually omits important internal details. Optician internally tries to expand 𝑟 * into either 𝑟𝑟 * |𝜀 or 𝑟 * 𝑟 |𝜀 nondeterministically (Miltner et al 2019), which eventually transforms 𝑟𝑟 * (head-biased non-empty lists) into 𝑟 (𝑟 * 𝑟 |𝜀) = 𝑟𝑟 * 𝑟 |𝑟 (one-step expansions of last-biased nonempty lists). The core transformation involves no structural transformations after this expansion.…”
Section: Discussionmentioning
confidence: 99%
“…Optician's regular-expression-based specification matches perfectly with the simplicity of the lens languages and their close connection to advanced types, while Synbit takes full advantage of HOBiT's alignment to conventional functional programming. On a more technical note, Optician (Miltner et al 2019) is able to prioritize the generated programs by quantitative information flow. It is not clear how this may be used in Synbit as the computation of the quantitative information flow will be difficult for a language with arbitrary recursion.…”
Section: Related Workmentioning
confidence: 99%
“…On the theoretical side, by developing semantics in a SubpCpoq-enriched setting [32], we plan to support recursion at all levels, and remove the distinction between ground and arbitrary types. Finally, by using proof-relevant subtyping [34] and synthesis of lenses [19], we can upgrade the subtyping relation from a simple inclusion to one that relates types by lenses.…”
Section: Discussionmentioning
confidence: 99%
“…Programming-by-Example (PBE) for Domain-Specific Languages. Programming-by-example techniques have been developed for numerous domain-specific applications, including string transformations [Gulwani 2011] (including bidirectional ones [Miltner et al 2019]), shell scripting [Gulwani et al 2015], web scraping [Chasins et al 2018], parallel data processing [Smith and Albarghouthi 2016], and generating vector graphics [Hempel et al 2019]. See Gulwani et al [2017] for a recent survey of developments.…”
Section: Program Synthesismentioning
confidence: 99%