Utilize este identificador para referenciar este registo: https://hdl.handle.net/1822/842

TítuloPoint-free program transformation
Autor(es)Cunha, Alcino
Pinto, Jorge Sousa
Palavras-chaveProgram transformation
Functional programming
Program calculation
Data2004
EditoraUniversidade do Minho. Departamento de Informática
CitaçãoCUNHA, Alcino ; PINTO, Jorge Sousa – “Point-free program transformation”. Braga : Universidade do Minho. Departamento de Informática, 2004.
Relatório da Série N.ºDI-PURe;04.02.03
Resumo(s)Functional programs are particularly well suited to formal manipulation by equational reasoning. In particular, it is straightforward to use calculational methods for program transformation. Well-known transformation techniques, like tupling or the introduction of accumulating parameters, can be implemented using calculation through the use of the fusion (or promotion) strategy. In this paper we revisit this transformation method, but, unlike most of the previous work on this subject, we adhere to a pure point-free calculus that emphasizes the advantages of equational reasoning. We focus on the accumulation strategy initially proposed by Bird, where the transformed programs are seen as higher-order folds calculated systematically from a specification. The machinery of the calculus is expanded with higher-order point-free operators that simplify the calculations. A substantial number of examples (both classic and new) are fully developed, and we introduce several shortcut optimization rules that capture typical transformation patterns.
TipoRelatório
URIhttps://hdl.handle.net/1822/842
AcessoAcesso aberto
Aparece nas coleções:HASLab - Artigos em revistas internacionais
DI/CCTC - Relatórios Técnicos

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
PUReTR040203.pdf329,91 kBAdobe PDFVer/Abrir

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID