Abstract
Consideration will be given to the perplexity students experience with recursive function definitions. Certain conceptual structures will be suggested, which might provide a path through the thicket. In particular, emphasis will be placed on decisions that a programmer makes during the course of designing a recursive definition. By drawing attention to these decisions — by classifying them and making them explicit — it is possible to delineate the kind of “space” within which creativity operates. To vivify this, a rudimentary taxonomy of recursive function definitions will be sketched here. It will be illustrated in a particular application area, involving a family of simple string-processing tasks. This will highlight two different kinds of structure: (i) classification of different tasks within the family, (ii) classification of different approaches to a single task. Some of the points to be raised are not specific to recursion; accordingly, connections will be drawn here and there with certain more general pedagogical themes promulgated by Peter Landin in recent years.
Preview
Unable to display preview. Download preview PDF.
References
Bird, R. & Wadler, P.: Introduction to Functional Programming, Prentice Hall, 1988.
Bornat, R.: Programming From First Principles, Prentice Hall, 1986.
Burstall, R. & Darlington, J.: A Transformation System for Developing Recursive Programs, JACM 24 (1977).
Burton, C.T.P.: An Introduction to Functional Programming and Miranda, International Thomson Publishing, to appear January 1996.
Goldson, D., Hopkins, M., Reeves, S. & Bornat, R.: A Symbolic Calculator for Non-Strict Functional Programs, Computer Journal 37 (1994).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Burton, C.T.P. (1995). Conceptual structures for recursion. In: Hartel, P.H., Plasmeijer, R. (eds) Funtional Programming Languages in Education. FPLE 1995. Lecture Notes in Computer Science, vol 1022. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60675-0_45
Download citation
DOI: https://doi.org/10.1007/3-540-60675-0_45
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60675-8
Online ISBN: 978-3-540-49252-8
eBook Packages: Springer Book Archive