Abstract
Many of the laws in Bird's ‘theory of lists’ [1, 2] are precisely the conditions for various constructions to be functors, natural transformations, adjunctions, and so on. In this paper, I explore this categorical background to the theory, and — by generalizing one law and adding another — establish a completeness result for part of the theory. In the final section of the paper, I indicate how a theory of expression trees could be compiled along similar lines.
None of the mathematical results in this paper are new; instead, its contribution is in showing how category theory can be used to organize a complete set of laws for program transformation. I hope, too, that the paper will provide a readable introduction to category theory for those already acquainted with functional programming.
Preview
Unable to display preview. Download preview PDF.
References
R. S. Bird. ‘An introduction to the theory of lists'. In Logic of Programming and Calculi of Descrete Design, M. Broy (ed.), Springer-Verlag, 1986, pp. 5–42.
R. S. Bird. ‘A calculus of functions for program derivation'. Technical monograph PRG-64, Programming Research Group, Oxford University Computing Laboratory, 1987. 21pp.
J. M. Spivey. ‘Term-rewriting without exceptions'. Submitted to Science of Computer Programming, 1988.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1989 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Spivey, M. (1989). A categorical approach to the theory of lists. In: van de Snepscheut, J.L.A. (eds) Mathematics of Program Construction. MPC 1989. Lecture Notes in Computer Science, vol 375. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-51305-1_24
Download citation
DOI: https://doi.org/10.1007/3-540-51305-1_24
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-51305-6
Online ISBN: 978-3-540-46191-3
eBook Packages: Springer Book Archive