A shortcut fusion rule for circular program calculation

  • Authors:
  • João Paulo Fernandes;Alberto Pardo;João Saraiva

  • Affiliations:
  • Universidade do Minho, Braga, Portugal;Universidad de la República, Montevideo, Uruguay;Universidade do Minho, Braga, Portugal

  • Venue:
  • Haskell '07 Proceedings of the ACM SIGPLAN workshop on Haskell workshop
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Circular programs are a powerful technique to express multiple traversal algorithms as a single traversal function in a lazy setting. In this paper, we present a shortcut deforestation technique to calculate circular programs. The technique we propose takes as input the composition of two functions, such that the first builds an intermediate structure and some additional context information which are then processed by the second one, to produce the final result. Our transformation into circular programs achieves intermediate structure deforestation and multiple traversal elimination. Furthermore, the calculated programs preserve the termination properties of the original ones.