Zipper-based modular and deforested computations
| Main Author: | |
|---|---|
| Publication Date: | 2015 |
| Other Authors: | , |
| Language: | eng |
| Source: | Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
| Download full: | http://hdl.handle.net/1822/70213 |
Summary: | In this paper we present a methodology to implement multiple traversal algorithms in a functional programming setting. The implementations we obtain s of highly modular and intermediate structure free programs, that rely on the concept of functional zippers to navigate on data structures.Even though our methodology is developed and presented under Haskell, a lazy functional language, we do not make essential use of laziness. This is an essential difference with respect to other attribute grammar embeddings. This also means that an approach similar to ours can be followed in a strict functional setting such as Ocaml, for example.In the paper, our technique is applied to a significant number of problems that are well-known to the functional programming community, demonstrating its practical interest. |
| id |
RCAP_e87c5b5360e3cba11baa3453adfa4a59 |
|---|---|
| oai_identifier_str |
oai:repositorium.sdum.uminho.pt:1822/70213 |
| 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 |
Zipper-based modular and deforested computationsDeforested computationGeneric programmingFunctional programmingCiências Naturais::Ciências da Computação e da InformaçãoEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaScience & TechnologyIn this paper we present a methodology to implement multiple traversal algorithms in a functional programming setting. The implementations we obtain s of highly modular and intermediate structure free programs, that rely on the concept of functional zippers to navigate on data structures.Even though our methodology is developed and presented under Haskell, a lazy functional language, we do not make essential use of laziness. This is an essential difference with respect to other attribute grammar embeddings. This also means that an approach similar to ours can be followed in a strict functional setting such as Ocaml, for example.In the paper, our technique is applied to a significant number of problems that are well-known to the functional programming community, demonstrating its practical interest.- (undefined)Springer VerlagUniversidade do MinhoMartins, Pedro Miguel RibeiroFernandes, João Paulo SoaresSaraiva, João20152015-01-01T00:00:00Zconference paperinfo:eu-repo/semantics/publishedVersionapplication/pdfhttp://hdl.handle.net/1822/70213engMartins P., Fernandes J.P., Saraiva J. (2015) Zipper-Based Modular and Deforested Computations. In: Zsók V., Horváth Z., Csató L. (eds) Central European Functional Programming School. CEFP 2013. Lecture Notes in Computer Science, vol 8606. Springer, Cham. https://doi.org/10.1007/978-3-319-15940-9_1097833191593930302-974310.1007/978-3-319-15940-9_10https://link.springer.com/chapter/10.1007/978-3-319-15940-9_10info: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-11T05:59:16Zoai:repositorium.sdum.uminho.pt:1822/70213Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T15:37:01.862896Repositó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 |
Zipper-based modular and deforested computations |
| title |
Zipper-based modular and deforested computations |
| spellingShingle |
Zipper-based modular and deforested computations Martins, Pedro Miguel Ribeiro Deforested computation Generic programming Functional programming Ciências Naturais::Ciências da Computação e da Informação Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática Science & Technology |
| title_short |
Zipper-based modular and deforested computations |
| title_full |
Zipper-based modular and deforested computations |
| title_fullStr |
Zipper-based modular and deforested computations |
| title_full_unstemmed |
Zipper-based modular and deforested computations |
| title_sort |
Zipper-based modular and deforested computations |
| author |
Martins, Pedro Miguel Ribeiro |
| author_facet |
Martins, Pedro Miguel Ribeiro Fernandes, João Paulo Soares Saraiva, João |
| author_role |
author |
| author2 |
Fernandes, João Paulo Soares Saraiva, João |
| author2_role |
author author |
| dc.contributor.none.fl_str_mv |
Universidade do Minho |
| dc.contributor.author.fl_str_mv |
Martins, Pedro Miguel Ribeiro Fernandes, João Paulo Soares Saraiva, João |
| dc.subject.por.fl_str_mv |
Deforested computation Generic programming Functional programming Ciências Naturais::Ciências da Computação e da Informação Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática Science & Technology |
| topic |
Deforested computation Generic programming Functional programming Ciências Naturais::Ciências da Computação e da Informação Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática Science & Technology |
| description |
In this paper we present a methodology to implement multiple traversal algorithms in a functional programming setting. The implementations we obtain s of highly modular and intermediate structure free programs, that rely on the concept of functional zippers to navigate on data structures.Even though our methodology is developed and presented under Haskell, a lazy functional language, we do not make essential use of laziness. This is an essential difference with respect to other attribute grammar embeddings. This also means that an approach similar to ours can be followed in a strict functional setting such as Ocaml, for example.In the paper, our technique is applied to a significant number of problems that are well-known to the functional programming community, demonstrating its practical interest. |
| publishDate |
2015 |
| dc.date.none.fl_str_mv |
2015 2015-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/70213 |
| url |
http://hdl.handle.net/1822/70213 |
| dc.language.iso.fl_str_mv |
eng |
| language |
eng |
| dc.relation.none.fl_str_mv |
Martins P., Fernandes J.P., Saraiva J. (2015) Zipper-Based Modular and Deforested Computations. In: Zsók V., Horváth Z., Csató L. (eds) Central European Functional Programming School. CEFP 2013. Lecture Notes in Computer Science, vol 8606. Springer, Cham. https://doi.org/10.1007/978-3-319-15940-9_10 9783319159393 0302-9743 10.1007/978-3-319-15940-9_10 https://link.springer.com/chapter/10.1007/978-3-319-15940-9_10 |
| 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 |
| publisher.none.fl_str_mv |
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_ |
1833595429199020032 |