Skip to main content

Theory and Practice of Fusion

Ralf Hinze‚ Daniel W.H. James and Tom Harper

Abstract

There are a number of approaches for eliminating intermediate data structures in functional programs - this elimination is commonly known as fusion. Existing fusion strategies are built upon various, but related, recursion schemes, such as folds and unfolds. We use the concept of recursive coalgebras as a unifying theoretical and notational framework to explore the foundations of these fusion techniques. We first introduce the calculational properties of recursive coalgebras and demonstrate their use with proofs and derivations in a calculational style, then provide an overview of fusion techniques by bringing them together in this setting. We also showcase these developments with examples in Haskell.

Affiliation
Computing Laboratory‚ University of Oxford‚ Wolfson Building‚ Parks Road‚ Oxford‚ OX1 3QD England
Book Title
Proceedings of the 22nd Symposium on the Implementation and Application of Functional Languages (IFL '10)
Editor
Hage‚ Jurriaan and Morazán‚ Marco
Location
Alphen aan den Rijn‚ The Netherlands
Month
sep
Pages
19–37
Publisher
Springer−Verlag
Series
Lecture Notes in Computer Science
Volume
6647
Year
2011