Abstract
Datatype-generic programs are programs that are parameterised by a datatype. Designing datatype-generic programs brings new challenges and new opportunities. We review the allegorical foundations of a methodology of designing datatype-generic programs. The effectiveness of the methodology is demonstrated by an extraordinarily concise proof of the well-foundedness of a datatype-generic occurs-in relation.
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
Jeuring, J., Jansson, P.: Polytypic programming. In: Launchbury, J., Sheard, T., Meijer, E. (eds.) AFP 1996. LNCS, vol. 1129, pp. 68–114. Springer, Heidelberg (1996)
Hinze, R.: Polytypic values possess polykinded types. Science of Computer Programming 43(2-3), 129–159 (2002)
Hinze, R., Jeuring, J., Löh, A.: Type-indexed data types. Science of Computer Programming 51(1-2), 117–151 (2004)
Löh, A., Clarke, D., Jeuring, J.: Dependency-style Generic Haskell. In: Shivers, O. (ed.) Proceedings of the International Conference, ICFP 2003, pp. 141–152. ACM Press, New York (2003)
Doornbos, H., Backhouse, R.: Induction and recursion on datatypes. In: Möller, B. (ed.) MPC 1995. LNCS, vol. 947, pp. 242–256. Springer, Heidelberg (1995)
Doornbos, H.: Reductivity arguments and program construction. PhD thesis, Eindhoven University of Technology, Department of Mathematics and Computing Science (1996)
Doornbos, H., Backhouse, R.: Reductivity. Science of Computer Programming 26(1-3), 217–236 (1996)
Jansson, P., Jeuring, J.: Functional pearl: Polytypic unification. Journal of Functional Programming (1998)
Backhouse, R., Jansson, P., Jeuring, J., Meertens, L.: Generic programming. An introduction. In: Swierstra, S.D., Oliveira, J.N. (eds.) AFP 1998. LNCS, vol. 1608, pp. 28–115. Springer, Heidelberg (1999)
Hoare, C., He, J.: The weakest prespecification. Fundamenta Informaticae 9, 51–84 (1986)
Freyd, P., Ščedrov, A.: Categories, Allegories. North-Holland, Amsterdam (1990)
Backhouse, R.: Naturality of homomorphisms. Lecture notes, International Summer School on Constructive Algorithmics, vol. 3 (1989)
Backhouse, R., Bruin, P.d., Malcolm, G., Voermans, T., Woude, J.v.d.: Relational catamorphisms. In: Möller, B. (ed.) Proceedings of the IFIP TC2/WG2.1 Working Conference on Constructing Programs from Specifications, pp. 287–318. Elsevier Science Publishers B.V., Amsterdam (1991)
Backhouse, R., Woude, J.v.d.: Demonic operators and monotype factors. Mathematical Structures in Computer Science 3(4), 417–433 (1993)
Bird, R.S., de Moor, O.: Algebra of Programming. Prentice-Hall International, Englewood Cliffs (1996)
Backhouse, R., Bruin, P.d., Hoogendijk, P., Malcolm, G., Voermans, T., Woude, J.v.d.: Polynomial relators. In: Nivat, M., Rattray, C., Rus, T., Scollo, G. (eds.) Proceedings of the 2nd Conference on Algebraic Methodology and Software Technology, AMAST 1991, Workshops in Computing, pp. 303–326. Springer, Heidelberg (1992)
Reynolds, J.C.: Types, abstraction and parametric polymorphism. In: Mason, R. (ed.) IFIP 1983, pp. 513–523. Elsevier Science Publishers, Amsterdam (1983)
Wadler, P.: Theorems for free! In: 4’th Symposium on Functional Programming Languages and Computer Architecture. ACM, London (1989)
Hoogendijk, P.: A Generic Theory of Datatypes. PhD thesis, Department of Mathematics and Computing Science, Eindhoven University of Technology (1997)
Meijer, E., Fokkinga, M., Paterson, R.: Functional programming with bananas, lenses, envelopes and barbed wire. In: Hughes, J. (ed.) FPCA 1991. LNCS, vol. 523, pp. 124–144. Springer, Heidelberg (1991)
Meijer, E.: Calculating Compilers. PhD thesis, University of Nijmegen (1992)
Backhouse, R., Doornbos, H.: Mathematics of recursive program construction (2001), Internet publication, Available from: http://www.cs.nott.ac.uk/~rcb/MPC/papers
Malcolm, G.: Algebraic data types and program transformation. PhD thesis, Groningen University (1990)
Malcolm, G.: Data structures and program transformation. Science of Computer Programming 14(2-3), 255–280 (1990)
Backhouse, R., Hoogendijk, P.: Final dialgebras: From categories to allegories. Theoretical Informatics and Applications 33(4/5), 401–426 (1999)
Hoogendijk, P., de Moor, O.: Container types categorically. Journal of Functional Programming 10(2), 191–225 (2000)
Doornbos, H., Backhouse, R.C., van der Woude, J.: A calculation approach to mathematical induction. Theoretical Computer Science 179, 103–135 (1997)
Jansson, P., Jeuring, J.: PolyP - a polytypic programming language extension. In: POPL 1997: The 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 470–482. ACM Press, New York (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Backhouse, R. (2006). Datatype-Generic Reasoning. In: Beckmann, A., Berger, U., Löwe, B., Tucker, J.V. (eds) Logical Approaches to Computational Barriers. CiE 2006. Lecture Notes in Computer Science, vol 3988. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11780342_3
Download citation
DOI: https://doi.org/10.1007/11780342_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-35466-6
Online ISBN: 978-3-540-35468-0
eBook Packages: Computer ScienceComputer Science (R0)