Automatic visualization of recursion trees: a case study on generic programming
Autor(a) principal: | |
---|---|
Data de Publicação: | 2003 |
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/846 |
Resumo: | Although the principles behind generic programming are already well understood, this style of programming is not widespread and examples of applications are rarely found in the literature. This paper addresses this shortage by presenting a new method, based on generic programming, to automatically visualize recursion trees of functions written in Haskell. Crucial to our solution is the fact that almost any function definition can be automatically factorized into the composition of a fold after an unfold of some intermediate data structure that models its recursion tree. By combining this technique with an existing tool for graphical debugging, and by extensively using Generic Haskell, we achieve a rather concise and elegant solution to this problem. |
id |
RCAP_bb49cbee221ac5f758bb59f6e295db7c |
---|---|
oai_identifier_str |
oai:repositorium.sdum.uminho.pt:1822/846 |
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 |
Automatic visualization of recursion trees: a case study on generic programmingAlthough the principles behind generic programming are already well understood, this style of programming is not widespread and examples of applications are rarely found in the literature. This paper addresses this shortage by presenting a new method, based on generic programming, to automatically visualize recursion trees of functions written in Haskell. Crucial to our solution is the fact that almost any function definition can be automatically factorized into the composition of a fold after an unfold of some intermediate data structure that models its recursion tree. By combining this technique with an existing tool for graphical debugging, and by extensively using Generic Haskell, we achieve a rather concise and elegant solution to this problem.Fundação para a Ciência e a Tecnologia - POSI/CHS/44304/2002.ElsevierUniversidade do MinhoCunha, Alcino20032003-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/articleapplication/pdfhttp://hdl.handle.net/1822/846engCUNHA, Alcino - Automatic visualization of recursion trees : a case study on generic programming. “Electronic Notes in Theoretical Computer Science” [Em linha]. 86:3 (2003) 1-15. [Consult. 27 Jan. 2005]. Disponível na Internet: http://www.sciencedirect.com/science. ISSN 1571-0661.1571-066110.1016/S1571-0661(04)80694-7info: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:RCAAP2023-07-21T12:13:23Zoai:repositorium.sdum.uminho.pt:1822/846Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T19:05:27.660304Repositó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 |
Automatic visualization of recursion trees: a case study on generic programming |
title |
Automatic visualization of recursion trees: a case study on generic programming |
spellingShingle |
Automatic visualization of recursion trees: a case study on generic programming Cunha, Alcino |
title_short |
Automatic visualization of recursion trees: a case study on generic programming |
title_full |
Automatic visualization of recursion trees: a case study on generic programming |
title_fullStr |
Automatic visualization of recursion trees: a case study on generic programming |
title_full_unstemmed |
Automatic visualization of recursion trees: a case study on generic programming |
title_sort |
Automatic visualization of recursion trees: a case study on generic programming |
author |
Cunha, Alcino |
author_facet |
Cunha, Alcino |
author_role |
author |
dc.contributor.none.fl_str_mv |
Universidade do Minho |
dc.contributor.author.fl_str_mv |
Cunha, Alcino |
description |
Although the principles behind generic programming are already well understood, this style of programming is not widespread and examples of applications are rarely found in the literature. This paper addresses this shortage by presenting a new method, based on generic programming, to automatically visualize recursion trees of functions written in Haskell. Crucial to our solution is the fact that almost any function definition can be automatically factorized into the composition of a fold after an unfold of some intermediate data structure that models its recursion tree. By combining this technique with an existing tool for graphical debugging, and by extensively using Generic Haskell, we achieve a rather concise and elegant solution to this problem. |
publishDate |
2003 |
dc.date.none.fl_str_mv |
2003 2003-01-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/846 |
url |
http://hdl.handle.net/1822/846 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.relation.none.fl_str_mv |
CUNHA, Alcino - Automatic visualization of recursion trees : a case study on generic programming. “Electronic Notes in Theoretical Computer Science” [Em linha]. 86:3 (2003) 1-15. [Consult. 27 Jan. 2005]. Disponível na Internet: http://www.sciencedirect.com/science. ISSN 1571-0661. 1571-0661 10.1016/S1571-0661(04)80694-7 |
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 |
Elsevier |
publisher.none.fl_str_mv |
Elsevier |
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 |
|
_version_ |
1799132467498582016 |