2017
DOI: 10.22152/programming-journal.org/2017/1/7
|View full text |Cite
|
Sign up to set email alerts
|

Profunctor Optics: Modular Data Accessors

Abstract: Data accessors allow one to read and write components of a data structure, such as the fields of a record, the variants of a union, or the elements of a container. These data accessors are collectively known as optics; they are fundamental to programs that manipulate complex data. Individual data accessors for simple data structures are easy to write, for example as pairs of 'getter' and 'setter' methods. However, it is not obvious how to combine data accessors, in such a way that data accessors for a compound… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
72
0

Year Published

2018
2018
2023
2023

Publication Types

Select...
5
1
1

Relationship

1
6

Authors

Journals

citations
Cited by 36 publications
(72 citation statements)
references
References 16 publications
0
72
0
Order By: Relevance
“…Those new lenses can be proved to be isomorphic to the previous concrete lenses, provided we assume very-well-behavedness laws on the concrete lenses. For a proof of this equivalence, see Pickering et al [PGW17].…”
Section: Lensesmentioning
confidence: 95%
See 2 more Smart Citations
“…Those new lenses can be proved to be isomorphic to the previous concrete lenses, provided we assume very-well-behavedness laws on the concrete lenses. For a proof of this equivalence, see Pickering et al [PGW17].…”
Section: Lensesmentioning
confidence: 95%
“…To solve this problem, an alternative representation of optic families, known as the profunctor encoding [PGW17], has been developed.…”
Section: Profunctor Opticsmentioning
confidence: 99%
See 1 more Smart Citation
“…In any case, the choice is not crucial to our work. We could instead apply the same techniques to the profunctor [Pickering et al 2017] and other encodings.…”
Section: Lenses and Traversalsmentioning
confidence: 99%
“…Lenses have quickly been adopted into the Haskell ecosystem since [van Laarhoven 2009] and have been described from first principles in [Pickering et al 2017]. There are many different libraries implementing lenses in the Haskell ecosystem but by far the most prominent and well used is lens [Kmett 2018].…”
Section: Related Workmentioning
confidence: 99%