Skip to main content

Programming with (Finite) Mappings

  • Chapter
Book cover Informatik und Mathematik

Abstract

We present a unified view of “mappings”, abstracting from their appearance as “routines” (that is, objects that describe computations) or as “map-like data structures” (that is, objects that are stored and accessed via indices), respectively. On the basis of suitably defined algebraic operations we are then able to develop algorithms at a very high level of abstraction, without losing the potential of implementing them efficiently in terms of arrays and loops. This is demonstrated for a variety of array-based algorithms that are well-known from the literature.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 79.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • Aho, A.V, Hoperoft, J.E., Ullman, J.D.: The Design and Analysis of Computer Algorithms. Reading: Addison-Wesley 1974.

    MATH  Google Scholar 

  • Backhouse, R.: Making Formality Work For Us. Bulletin of the EATCS 38, June 1989, 219–247.

    MATH  Google Scholar 

  • Bauer, F.L., Wössner, H.: Algorithmic Language and Program Development. Berlin: Springer 1982.

    MATH  Google Scholar 

  • Bird, R.S: An Introduction to the Theory of Lists. In: Broy, M. (ed.): Logic of Programming and Calculi of Discrete Design. Proc. Int. Summer School, Marktoberdorf 1986, NATO ASI Series F, Vol. 36, Berlin: Springer 1987, 5–42.

    Google Scholar 

  • Bird, R.S.: Costructive Functional Programming. In: Working Material, Int. Summer School on Constructive Methods in Computing Science, Marktoberdorf 1988.

    Google Scholar 

  • Bird, R.S., Wadler, P.: An Introduction to Functional Programming. Englewood Cliffs: Prentice-Hall 1987.

    Google Scholar 

  • Boyle, J.: Towards Automatic Synthesis of Linear Algebra Programs. In: Hennell, M.A., Delves, L.M. (eds.): Production and Assessment of Numerical Software. London: Academic Press, 1980, 223–245.

    Google Scholar 

  • Broy, M., Pepper, P.: Program Development as a Formal Activity. IEEE Transactions on Software Engineering SE-7, 1 (1981), 14–22.

    Article  Google Scholar 

  • Burstall, R.M., Darlington, J.: A Transformation System for Developing Recursive Programs. J.ACM 24 (1977), 44–67.

    Google Scholar 

  • Cooley, J.W., Tukey, J.W.: An Algorithm for the Machine Calculation of Complex Fourier Series. Math. Comput. 19 (1965), 297–301.

    Article  MathSciNet  MATH  Google Scholar 

  • Dijkstra, E.W.: A Discipline of Programming. Englewood Cliffs: Prentice-Hall 1976.

    MATH  Google Scholar 

  • Dijkstra, E.W.: The Fast Fourier Transform and the Perfect Shuffle. In: Working Material, Int. Summer School on Control Flow and Data Flow, Marktoberdorf, 1984.

    Google Scholar 

  • Gries, D: The Science of Programming. New York: Springer 1980.

    Google Scholar 

  • von Henke, F.W.: On Generating Programs from Types: An Approach to Automatic Programming. In: Huet, G., Kahn, G. (eds.): Construction, Amélioration et Vérification des Programmes. Colloques IRIA 1975, 57–69.

    Google Scholar 

  • Jones, C.B.: Software Development: A Rigorous Approach. Englewood Cliffs: Prentice-Hall 1980.

    MATH  Google Scholar 

  • Möller, B.: Applicative Assertions. Proc. Int. Conf. on Mathematics of Program Construction, Groningen 1989.

    Google Scholar 

  • Pepper, P.: Specification Languages and Program Transformation. In: Reid, J.K.(ed.): Relationship between Numerical Computation and Programming Languages. Proc. IFIP WG 2.5 Conf., Boulder 1981. Amsterdam: North-Holland 1982, 331–346.

    Google Scholar 

  • Pepper, P.: Inferential Techniques for Program Development. In: Pepper, P. (ed.): Program Transformation and Programming Environments. NATO ASI Series F, Vol. 8. Berlin: Springer 1984, 275–290.

    Google Scholar 

  • Pepper, P. (ed.): The Programming Language Opal. Internal report, Technische Universität Berlin 1991.

    Google Scholar 

  • Reynolds, J.C.: The Craft of Programming. Englewood Cliffs: Prentice-Hall 1981.

    MATH  Google Scholar 

  • Smith, D.R.: KIDS — A Knowledge-Based Software Development System. In: Proc. of the Workshop on Automating Software Design, AAAI 1988.

    Google Scholar 

Download references

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Pepper, P., Möller, B. (1991). Programming with (Finite) Mappings. In: Broy, M. (eds) Informatik und Mathematik. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-76677-0_28

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-76677-0_28

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-76678-7

  • Online ISBN: 978-3-642-76677-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics