Utilize este identificador para referenciar este registo:
https://hdl.handle.net/1822/14886
Título: | Transformation of structure-shy programs with application to XPath queries and strategic functions |
Autor(es): | Cunha, Alcino Visser, Joost |
Palavras-chave: | Algebraic program transformation Strategic functional programming XML query languages Point-free program calculation Type generalization Type specialization |
Data: | 1-Jun-2011 |
Editora: | Elsevier |
Revista: | Science of Computer Programming |
Resumo(s): | 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. |
Tipo: | Artigo |
URI: | https://hdl.handle.net/1822/14886 |
DOI: | 10.1016/j.scico.2010.01.003 |
ISSN: | 0167-6423 |
Versão da editora: | http://dx.doi.org/10.1016/j.scico.2010.01.003 |
Arbitragem científica: | yes |
Acesso: | Acesso aberto |
Aparece nas coleções: | HASLab - Artigos em revistas internacionais DI/CCTC - Artigos (papers) |