testqert.blogg.se

Boomerang lenses
Boomerang lenses












Bijective lenses encode bijections, quotient lenses encode bijections modulo an equivalence relation, and symmetric lenses encode bidirectional transformations that may discard information when going from one format to another.

Boomerang lenses how to#

We demonstrate how to synthesize three classes of lenses: bijective lenses, quotient lenses, and symmetric lenses. Optician will then synthesize a lens between the provided types that exhibits the demonstrated behavior. Instead of manually writing Boomerang lenses, programmers merely need to provide the type of the desired lens and a set of input/output examples describing the lens's behavior. Pairs of regular expressions serve as types for Boomerang lenses, which transform strings between the languages of those regular expressions. We develop a synthesis engine for Boomerang, a lens language for string transformations.

boomerang lenses boomerang lenses

In this work we introduce Optician, which provides an alternative method of developing lenses - synthesis. However, writing in domain-specific lens languages can be hard, requiring the user to reason about fiddly details of the transformations, often within the context of a complex type system. Lenses are bidirectional functions that satisfy a set of "round-tripping laws." Lenses arise in a number of domains, and can implement serializer/deserializer pairs, parser/pretty printer pairs, and incremental data structure transformers.ĭomain-specific languages like Boomerang, Augeas, GRoundTram, BiFluX, BiYacc, Brul, BiGUL, and HOBiT allow programmers to write both transformations with a single program, and guarantee the transformations satisfy the round-tripping laws. Please use this identifier to cite or link to this item: Princeton University Undergraduate Senior Theses, 1924-2022 Princeton University Doctoral Dissertations, 2011-2022 Princeton School of Public and International Affairs Liechtenstein Institute on Self-Determination Lewis-Sigler Institute for Integrative Genomics

boomerang lenses

Department of Slavic Languages and Literatures












Boomerang lenses