Abstract
Fusion, one of the most useful transformation tactics for deriving efficient programs, is the process whereby separate pieces of programs are fused into a single one, leading to an efficient program without intermediate data structures produced. In this paper, we report our on-going investigation on the design and implementation of an automatic transformation system HYLO which performs fusion transformation in a more systematic and more general way than any other systems. The distinguished point of our system is its calculational feature based on simple application of transformation laws rather than traditional search-based transformations.
Chapter PDF
Similar content being viewed by others
References
Bird, R. & de Moor, O. (1994), Relational program derivation and context-free language recognition, in A. Roscoe, ed., ‘A Classical Mind’, Prentice Hall, pp. 17–35.
Burstall, R. & Darlington, J. (1977), ‘A transformation system for developing recursive programs’, Journal of the ACM 24 (1), 44–67.
Chin, W. (1992), Safe fusion of functional expressions, in ‘Proc. Conference on Lisp and Functional Programming’, San Francisco, California.
Fokkinga, M. (1992), Law and Order in Algorithmics, Ph.D thesis, Dept. INF, University of Twente, The Netherlands.
Gill, A., Launchbury, J. & Jones, S. P. (1993), A short cut to deforestation, in ‘Proc. Conference on Functional Programming Languages and Computer Architecture’, Copenhagen, pp. 223–232.
Hu, Z., Iwasaki, H. & Takeichi, M. (1996a), Caculating accumulations, Technical Report METR 96–03, Faculty of Engineering, University of Tokyo.
Hu, Z., Iwasaki, H. & Takeichi, M. (1996b), Deriving structural hylomorphisms from recursive definitions, in ‘ACM SIGPLAN International Conference on Functional Programming’, ACM Press, Philadelphia, PA, pp. 73–82.
Hu, Z., Iwasaki, H. & Takeichi, M. (1996c), An extension of the Acid Rain Theorem, in ‘2nd Fuji International Workshop on Functional and Logic Programming’, World Scientific, Shonan, Japan.
Hu, Z., Iwasaki, H., Takeichi, M. & Takano, A. (1997), Tupling calculation eliminates multiple data traversals, in ‘ACM SIGPLAN International Conference on Functional Programming’, ACM Press, Amsterdam, The Netherlands. to appear.
Jones, M. P. (1994), Gofer 2.30a release notes.
Launchbury, J. & Sheard, T. (1995), Warm fusion: Deriving build-catas from recursive definitions, in ‘Proc. Conference on Functional Programming Languages and Computer Architecture’, La Jolla, California, pp. 314–323.
Meijer, E., Fokkinga, M. & Paterson, R. (1991), Functional programming with bananas, lenses, envelopes and barbed wire, in ‘Proc. Conference on Functional Programming Languages and Computer Architecture (LNCS 523)’, Cambridge, Massachuetts, pp. 124–144.
Pettorossi, A. & Proietti, M. (1993), Rules and strategies for program transformation, in ‘IFIP TC2/WG2.1 State-of-the-Art Report’, LNCS 755, pp. 263–303.
Sheard, T. & Fegaras, L. (1993), A fold for all seasons, in ‘Proc. Conference on Functional Programming Languages and Computer Architecture’, Copenhagen, pp. 233–242.
Takano, A. & Meijer, E. (1995), Shortcut deforestation in calculational form, in ‘Proc. Conference on Functional Programming Languages and Computer Architecture’, La Jolla, California, pp. 306–313.
Team, T. A. (1996), Glasgow Haskell Compiler User’s Guide ver0.29.
Wadler, P. (1988), Deforestation: Transforming programs to eliminate trees, in ‘Proc. ESOP (LNCS 300)’, pp. 344–358.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1997 IFIP
About this chapter
Cite this chapter
Onoue, Y., Hu, Z., Iwasaki, H., Takeichi, M. (1997). A Calculational Fusion System HYLO. In: Bird, R.S., Meertens, L. (eds) Algorithmic Languages and Calculi. IFIP Advances in Information and Communication Technology. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-35264-0_4
Download citation
DOI: https://doi.org/10.1007/978-0-387-35264-0_4
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-5041-2877-3
Online ISBN: 978-0-387-35264-0
eBook Packages: Springer Book Archive