Abstract
List homomorphisms are functions which can be efficiently computed in parallel since they ideally suit the divide- sand-conquer paradigm. However, some interesting functions, e.g., the maximum segment sum problem, are not list homomorphisms. In this paper, we propose a systematic way of embedding them into list homomorphisms so that parallel programs are derived. We show, with an example, how a simple, and “obviously” correct, but possibly inefficient solution to the problem can be successfully turned into a semantically equivalent almost homomorphism by means of two transformations: tupling and fusion.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
R. Bird. An introduction to the theory of lists. In M. Broy, editor, Logic of Programming and Calculi of Discrete Design, pages 5–42. Springer-Verlag, 1987.
D. Barnard, J. Schmeiser, and D. Skillicorn. Seriving associative operators for language recognition. In Bulletin of EATCS (43), pages 131–139, 1991.
W. Chin. Safe fusion of functional expressions. In Proc. Conference on Lisp and Functional Programming, San Francisco, California, June 1992.
W. Chin. Towards an automated tupling strategy. In Proc. Conference on Partial Evaluation and Program Manipulation, pages 119–132, Copenhagen, June 1993. ACM Press.
M. Cole. Parallel programming, list homomorphisms and the maximum segment sum problems. Report CSR-25-93, Department of Computing Science, The University of Edinburgh, May 1993.
W. Cai and D.B. Skillicorn. Calculating recurrences using the Bird-Meertens Formalism. Technical report, Department of Computing and Information Science, Queen's University, 1992.
M. Fokkinga. A gentle introduction to category theory — the calculational approach-. Technical Report Lecture Notes, Dept. INF, University of Twente, The Netherlands, September 1992.
J. Gibbons. The third homomorphism theorem. Technical report, University of Auckland, 1994.
S. Gorlatch. Constructing list homomorphisms. Technical Report MIP-9512, Fakultät für Mathematik und Informatik, Universität Passau, August 1995.
Z. Hu, H. Iwasaki, and M. Takeichi. Deriving structural hylomorphisms from recursive definitions. In ACM SIGPLAN International Conference on Functional Programming (ICFP '96), Philadelphia, Pennsylvania, May 1996. ACM Press.
E. Meijer, M. Fokkinga, and R. Paterson. Functional programming with bananas, lenses, envelopes and barbed wire. In Proc. Conference on Functional Programming Languages and Computer Architecture (LNCS 523), pages 124–144, Cambridge, Massachuetts, August 1991.
D.B. Skillicorn. Architecture-independent parallel computation. IEEE Computer, 23(12):38–51, December 1990.
M. Takeichi. Partial parametrization eliminates multiple traversais of data structures. Acta Informatica, 24:57–77, 1987.
A. Takano and E. Meijer. Shortcut deforestation in calculational form. In Proc. Conference on Functional Programming Languages and Computer Architecture, pages 306–313, La Jolla, California, June 1995.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hu, Z., Iwasaki, H., Takeichi, M. (1996). Construction of list homomorphisms by tupling and fusion. In: Penczek, W., Szałas, A. (eds) Mathematical Foundations of Computer Science 1996. MFCS 1996. Lecture Notes in Computer Science, vol 1113. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61550-4_166
Download citation
DOI: https://doi.org/10.1007/3-540-61550-4_166
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61550-7
Online ISBN: 978-3-540-70597-0
eBook Packages: Springer Book Archive