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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
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.
Backhouse, R.: Making Formality Work For Us. Bulletin of the EATCS 38, June 1989, 219–247.
Bauer, F.L., Wössner, H.: Algorithmic Language and Program Development. Berlin: Springer 1982.
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.
Bird, R.S.: Costructive Functional Programming. In: Working Material, Int. Summer School on Constructive Methods in Computing Science, Marktoberdorf 1988.
Bird, R.S., Wadler, P.: An Introduction to Functional Programming. Englewood Cliffs: Prentice-Hall 1987.
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.
Broy, M., Pepper, P.: Program Development as a Formal Activity. IEEE Transactions on Software Engineering SE-7, 1 (1981), 14–22.
Burstall, R.M., Darlington, J.: A Transformation System for Developing Recursive Programs. J.ACM 24 (1977), 44–67.
Cooley, J.W., Tukey, J.W.: An Algorithm for the Machine Calculation of Complex Fourier Series. Math. Comput. 19 (1965), 297–301.
Dijkstra, E.W.: A Discipline of Programming. Englewood Cliffs: Prentice-Hall 1976.
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.
Gries, D: The Science of Programming. New York: Springer 1980.
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.
Jones, C.B.: Software Development: A Rigorous Approach. Englewood Cliffs: Prentice-Hall 1980.
Möller, B.: Applicative Assertions. Proc. Int. Conf. on Mathematics of Program Construction, Groningen 1989.
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.
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.
Pepper, P. (ed.): The Programming Language Opal. Internal report, Technische Universität Berlin 1991.
Reynolds, J.C.: The Craft of Programming. Englewood Cliffs: Prentice-Hall 1981.
Smith, D.R.: KIDS — A Knowledge-Based Software Development System. In: Proc. of the Workshop on Automating Software Design, AAAI 1988.
Editor information
Editors and Affiliations
Rights 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