@inproceedings{47ec71ae2d3947fdb029213e26ec4bea,
title = "A shortcut fusion rule for circular program calculation",
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.",
keywords = "Circular programming, Deforestation, Program calculation, Shortcut fusion",
author = "Fernandes, {Jo{\~a}o Paulo} and Alberto Pardo and Jo{\~a}o Saraiva",
year = "2007",
doi = "10.1145/1291201.1291216",
language = "English (US)",
isbn = "9781595936745",
series = "Haskell'07: Proceedings of the ACM SIGPLAN 2007 Haskell Workshop",
pages = "95--106",
booktitle = "Haskell'07",
note = "Haskell'07: 11th ACM SIGPLAN Haskell Workshop ; Conference date: 30-09-2007 Through 30-09-2007",
}