Generic point-free lenses

Bibliographic Details
Main Author: Pacheco, Hugo
Publication Date: 2010
Other Authors: Cunha, Alcino
Language: eng
Source: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Download full: http://hdl.handle.net/1822/38994
Summary: Lenses are one the most popular approaches to define bidirectional transformations between data models. A bidirectional transformation with view-update, denoted a lens, encompasses the definition of a forward transformation projecting concrete models into abstract views, together with a backward transformation instructing how to translate an abstract view to an update over concrete models. In this paper we show that most of the standard point-free combinators can be lifted to lenses with suitable backward semantics, allowing us to use the point-free style to define powerful bidirectional transformations by composition. We also demonstrate how to define generic lenses over arbitrary inductive data types by lifting standard recursion patterns, like folds or unfolds. To exemplify the power of this approach, we “lensify” some standard functions over naturals and lists, which are tricky to define directly “by-hand” using explicit recursion.
id RCAP_00106b5b06cbded4b8c971dc67572d8c
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/38994
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Generic point-free lensesPoint-freeBidirectional transformationsLensesRecursion patternsInductive typesScience & TechnologyLenses are one the most popular approaches to define bidirectional transformations between data models. A bidirectional transformation with view-update, denoted a lens, encompasses the definition of a forward transformation projecting concrete models into abstract views, together with a backward transformation instructing how to translate an abstract view to an update over concrete models. In this paper we show that most of the standard point-free combinators can be lifted to lenses with suitable backward semantics, allowing us to use the point-free style to define powerful bidirectional transformations by composition. We also demonstrate how to define generic lenses over arbitrary inductive data types by lifting standard recursion patterns, like folds or unfolds. To exemplify the power of this approach, we “lensify” some standard functions over naturals and lists, which are tricky to define directly “by-hand” using explicit recursion.Springer VerlagSpringer-VerlagUniversidade do MinhoPacheco, HugoCunha, Alcino20102010-01-01T00:00:00Zconference paperinfo:eu-repo/semantics/publishedVersionapplication/pdfhttp://hdl.handle.net/1822/38994eng978-3-642-13320-60302-974310.1007/978-3-642-13321-3_19info:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2024-05-11T07:37:40Zoai:repositorium.sdum.uminho.pt:1822/38994Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T16:34:04.106217Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Generic point-free lenses
title Generic point-free lenses
spellingShingle Generic point-free lenses
Pacheco, Hugo
Point-free
Bidirectional transformations
Lenses
Recursion patterns
Inductive types
Science & Technology
title_short Generic point-free lenses
title_full Generic point-free lenses
title_fullStr Generic point-free lenses
title_full_unstemmed Generic point-free lenses
title_sort Generic point-free lenses
author Pacheco, Hugo
author_facet Pacheco, Hugo
Cunha, Alcino
author_role author
author2 Cunha, Alcino
author2_role author
dc.contributor.none.fl_str_mv Universidade do Minho
dc.contributor.author.fl_str_mv Pacheco, Hugo
Cunha, Alcino
dc.subject.por.fl_str_mv Point-free
Bidirectional transformations
Lenses
Recursion patterns
Inductive types
Science & Technology
topic Point-free
Bidirectional transformations
Lenses
Recursion patterns
Inductive types
Science & Technology
description Lenses are one the most popular approaches to define bidirectional transformations between data models. A bidirectional transformation with view-update, denoted a lens, encompasses the definition of a forward transformation projecting concrete models into abstract views, together with a backward transformation instructing how to translate an abstract view to an update over concrete models. In this paper we show that most of the standard point-free combinators can be lifted to lenses with suitable backward semantics, allowing us to use the point-free style to define powerful bidirectional transformations by composition. We also demonstrate how to define generic lenses over arbitrary inductive data types by lifting standard recursion patterns, like folds or unfolds. To exemplify the power of this approach, we “lensify” some standard functions over naturals and lists, which are tricky to define directly “by-hand” using explicit recursion.
publishDate 2010
dc.date.none.fl_str_mv 2010
2010-01-01T00:00:00Z
dc.type.driver.fl_str_mv conference paper
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/1822/38994
url http://hdl.handle.net/1822/38994
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 978-3-642-13320-6
0302-9743
10.1007/978-3-642-13321-3_19
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Springer Verlag
Springer-Verlag
publisher.none.fl_str_mv Springer Verlag
Springer-Verlag
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833596024356077568