Skip to main content

Construction of list homomorphisms by tupling and fusion

  • Contributed Papers
  • Conference paper
  • First Online:
Mathematical Foundations of Computer Science 1996 (MFCS 1996)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1113))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. D. Barnard, J. Schmeiser, and D. Skillicorn. Seriving associative operators for language recognition. In Bulletin of EATCS (43), pages 131–139, 1991.

    Google Scholar 

  3. W. Chin. Safe fusion of functional expressions. In Proc. Conference on Lisp and Functional Programming, San Francisco, California, June 1992.

    Google Scholar 

  4. W. Chin. Towards an automated tupling strategy. In Proc. Conference on Partial Evaluation and Program Manipulation, pages 119–132, Copenhagen, June 1993. ACM Press.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. M. Fokkinga. A gentle introduction to category theory — the calculational approach-. Technical Report Lecture Notes, Dept. INF, University of Twente, The Netherlands, September 1992.

    Google Scholar 

  8. J. Gibbons. The third homomorphism theorem. Technical report, University of Auckland, 1994.

    Google Scholar 

  9. S. Gorlatch. Constructing list homomorphisms. Technical Report MIP-9512, Fakultät für Mathematik und Informatik, Universität Passau, August 1995.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. D.B. Skillicorn. Architecture-independent parallel computation. IEEE Computer, 23(12):38–51, December 1990.

    Google Scholar 

  13. M. Takeichi. Partial parametrization eliminates multiple traversais of data structures. Acta Informatica, 24:57–77, 1987.

    Article  Google Scholar 

  14. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Wojciech Penczek Andrzej Szałas

Rights and permissions

Reprints 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

Publish with us

Policies and ethics