Transformation of structure-shy programs: applied to XPath queries and strategic functions

  • Authors:
  • Alcino Cunha;Joost Visser

  • Affiliations:
  • Universidade do Minho, Portugal;Universidade do Minho, Portugal

  • Venue:
  • Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.