Shortcut fusion rules for the derivation of circular and higher-order programs
Autor(a) principal: | |
---|---|
Data de Publicação: | 2011 |
Outros Autores: | , |
Tipo de documento: | Artigo |
Idioma: | eng |
Título da fonte: | Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
Texto Completo: | http://hdl.handle.net/1822/70349 |
Resumo: | Functional programs often combine separate parts using intermediate data structures for communicating results. Programs so defined are modular, easier to understand and maintain, but suffer from inefficiencies due to the generation of those gluing data structures. To eliminate such redundant data structures, some program transformation techniques have been proposed. One such technique is shortcut fusion, and has been studied in the context of both pure and monadic functional programs. In this paper, we study several shortcut fusion extensions, so that, alternatively, circular or higher-order programs are derived. These extensions are also provided for effect-free programs and monadic ones. Our work results in a set of generic calculation rules, that are widely applicable, and whose correctness is formally established. |
id |
RCAP_47df0326ff36b2f41d57180d5daade9f |
---|---|
oai_identifier_str |
oai:repositorium.sdum.uminho.pt:1822/70349 |
network_acronym_str |
RCAP |
network_name_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository_id_str |
7160 |
spelling |
Shortcut fusion rules for the derivation of circular and higher-order programsShortcut fusionCircular and higher-order programmingMonadic computationsFunctional programs often combine separate parts using intermediate data structures for communicating results. Programs so defined are modular, easier to understand and maintain, but suffer from inefficiencies due to the generation of those gluing data structures. To eliminate such redundant data structures, some program transformation techniques have been proposed. One such technique is shortcut fusion, and has been studied in the context of both pure and monadic functional programs. In this paper, we study several shortcut fusion extensions, so that, alternatively, circular or higher-order programs are derived. These extensions are also provided for effect-free programs and monadic ones. Our work results in a set of generic calculation rules, that are widely applicable, and whose correctness is formally established.Fundação para a Ciência e a TecnologiaUniversidade do MinhoPardo, AlbertoFernandes, João Paulo Sousa FerreiraSaraiva, João2011-06-012011-06-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/articleapplication/pdfhttp://hdl.handle.net/1822/70349eng1388-36901573-055710.1007/s10990-011-9076-xhttps://link.springer.com/journal/10990/volumes-and-issues/24-1info:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2024-05-11T05:07:19Zoai:repositorium.sdum.uminho.pt:1822/70349Portal AgregadorONGhttps://www.rcaap.pt/oai/openairemluisa.alvim@gmail.comopendoar:71602024-05-11T05:07:19Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse |
dc.title.none.fl_str_mv |
Shortcut fusion rules for the derivation of circular and higher-order programs |
title |
Shortcut fusion rules for the derivation of circular and higher-order programs |
spellingShingle |
Shortcut fusion rules for the derivation of circular and higher-order programs Pardo, Alberto Shortcut fusion Circular and higher-order programming Monadic computations |
title_short |
Shortcut fusion rules for the derivation of circular and higher-order programs |
title_full |
Shortcut fusion rules for the derivation of circular and higher-order programs |
title_fullStr |
Shortcut fusion rules for the derivation of circular and higher-order programs |
title_full_unstemmed |
Shortcut fusion rules for the derivation of circular and higher-order programs |
title_sort |
Shortcut fusion rules for the derivation of circular and higher-order programs |
author |
Pardo, Alberto |
author_facet |
Pardo, Alberto Fernandes, João Paulo Sousa Ferreira Saraiva, João |
author_role |
author |
author2 |
Fernandes, João Paulo Sousa Ferreira Saraiva, João |
author2_role |
author author |
dc.contributor.none.fl_str_mv |
Universidade do Minho |
dc.contributor.author.fl_str_mv |
Pardo, Alberto Fernandes, João Paulo Sousa Ferreira Saraiva, João |
dc.subject.por.fl_str_mv |
Shortcut fusion Circular and higher-order programming Monadic computations |
topic |
Shortcut fusion Circular and higher-order programming Monadic computations |
description |
Functional programs often combine separate parts using intermediate data structures for communicating results. Programs so defined are modular, easier to understand and maintain, but suffer from inefficiencies due to the generation of those gluing data structures. To eliminate such redundant data structures, some program transformation techniques have been proposed. One such technique is shortcut fusion, and has been studied in the context of both pure and monadic functional programs. In this paper, we study several shortcut fusion extensions, so that, alternatively, circular or higher-order programs are derived. These extensions are also provided for effect-free programs and monadic ones. Our work results in a set of generic calculation rules, that are widely applicable, and whose correctness is formally established. |
publishDate |
2011 |
dc.date.none.fl_str_mv |
2011-06-01 2011-06-01T00:00:00Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/article |
format |
article |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/1822/70349 |
url |
http://hdl.handle.net/1822/70349 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.relation.none.fl_str_mv |
1388-3690 1573-0557 10.1007/s10990-011-9076-x https://link.springer.com/journal/10990/volumes-and-issues/24-1 |
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.source.none.fl_str_mv |
reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação instacron:RCAAP |
instname_str |
Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
collection |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository.name.fl_str_mv |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
repository.mail.fl_str_mv |
mluisa.alvim@gmail.com |
_version_ |
1817544521785802752 |