Transformation of structure-shy programs with application to XPath queries and strategic functions

Detalhes bibliográficos
Autor(a) principal: Cunha, Alcino
Data de Publicação: 2011
Outros Autores: Visser, Joost
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/14886
Resumo: Various programming languages allow the construction of structure-shy programs. Such programs are defined generically for many different datatypes and only specify specific behavior for a few relevant subtypes. Typical examples are XML query languages that allow selection of subdocuments without exhaustively specifying intermediate element tags. Other examples are languages and libraries for polytypic or strategic functional programming and for adaptive object-oriented programming. In this paper, we present an algebraic approach to transformation of declarative structure-shy programs, in particular for strategic functions and XML queries. We formulate a rich set of algebraic laws, not just for transformation of structure-shy programs, but also for their conversion into structure-sensitive programs and vice versa. We show how subsets of these laws can be used to construct effective rewrite systems for specialization, generalization, and optimization of structure-shy programs. We present a type-safe encoding of these rewrite systems in Haskell which itself uses strategic functional programming techniques. We discuss the application of these rewrite systems for XPath query optimization and for query migration in the context of schema evolution.
id RCAP_d1122d8ec934a31c21d437e75373a0b3
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/14886
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 Transformation of structure-shy programs with application to XPath queries and strategic functionsAlgebraic program transformationStrategic functional programmingXML query languagesPoint-free program calculationType generalizationType specializationScience & TechnologyVarious programming languages allow the construction of structure-shy programs. Such programs are defined generically for many different datatypes and only specify specific behavior for a few relevant subtypes. Typical examples are XML query languages that allow selection of subdocuments without exhaustively specifying intermediate element tags. Other examples are languages and libraries for polytypic or strategic functional programming and for adaptive object-oriented programming. In this paper, we present an algebraic approach to transformation of declarative structure-shy programs, in particular for strategic functions and XML queries. We formulate a rich set of algebraic laws, not just for transformation of structure-shy programs, but also for their conversion into structure-sensitive programs and vice versa. We show how subsets of these laws can be used to construct effective rewrite systems for specialization, generalization, and optimization of structure-shy programs. We present a type-safe encoding of these rewrite systems in Haskell which itself uses strategic functional programming techniques. We discuss the application of these rewrite systems for XPath query optimization and for query migration in the context of schema evolution.ElsevierUniversidade do MinhoCunha, AlcinoVisser, Joost2011-06-012011-06-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/articleapplication/pdfhttp://hdl.handle.net/1822/14886eng0167-642310.1016/j.scico.2010.01.003http://dx.doi.org/10.1016/j.scico.2010.01.003info: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:36:31Zoai:repositorium.sdum.uminho.pt:1822/14886Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T19:32:37.626966Repositó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 Transformation of structure-shy programs with application to XPath queries and strategic functions
title Transformation of structure-shy programs with application to XPath queries and strategic functions
spellingShingle Transformation of structure-shy programs with application to XPath queries and strategic functions
Cunha, Alcino
Algebraic program transformation
Strategic functional programming
XML query languages
Point-free program calculation
Type generalization
Type specialization
Science & Technology
title_short Transformation of structure-shy programs with application to XPath queries and strategic functions
title_full Transformation of structure-shy programs with application to XPath queries and strategic functions
title_fullStr Transformation of structure-shy programs with application to XPath queries and strategic functions
title_full_unstemmed Transformation of structure-shy programs with application to XPath queries and strategic functions
title_sort Transformation of structure-shy programs with application to XPath queries and strategic functions
author Cunha, Alcino
author_facet Cunha, Alcino
Visser, Joost
author_role author
author2 Visser, Joost
author2_role author
dc.contributor.none.fl_str_mv Universidade do Minho
dc.contributor.author.fl_str_mv Cunha, Alcino
Visser, Joost
dc.subject.por.fl_str_mv Algebraic program transformation
Strategic functional programming
XML query languages
Point-free program calculation
Type generalization
Type specialization
Science & Technology
topic Algebraic program transformation
Strategic functional programming
XML query languages
Point-free program calculation
Type generalization
Type specialization
Science & Technology
description Various programming languages allow the construction of structure-shy programs. Such programs are defined generically for many different datatypes and only specify specific behavior for a few relevant subtypes. Typical examples are XML query languages that allow selection of subdocuments without exhaustively specifying intermediate element tags. Other examples are languages and libraries for polytypic or strategic functional programming and for adaptive object-oriented programming. In this paper, we present an algebraic approach to transformation of declarative structure-shy programs, in particular for strategic functions and XML queries. We formulate a rich set of algebraic laws, not just for transformation of structure-shy programs, but also for their conversion into structure-sensitive programs and vice versa. We show how subsets of these laws can be used to construct effective rewrite systems for specialization, generalization, and optimization of structure-shy programs. We present a type-safe encoding of these rewrite systems in Haskell which itself uses strategic functional programming techniques. We discuss the application of these rewrite systems for XPath query optimization and for query migration in the context of schema evolution.
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/14886
url http://hdl.handle.net/1822/14886
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 0167-6423
10.1016/j.scico.2010.01.003
http://dx.doi.org/10.1016/j.scico.2010.01.003
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_ 1799132839532298240