Hostname: page-component-6766d58669-kl59c Total loading time: 0 Render date: 2026-05-21T01:57:43.719Z Has data issue: false hasContentIssue false

How to design co-programs

Published online by Cambridge University Press:  02 July 2021

JEREMY GIBBONS*
Affiliation:
Department of Computer Science, University of Oxford, Oxford, UK (e-mail: jeremy.gibbons@cs.ox.ac.uk)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

The observation that program structure follows data structure is a key lesson in introductory programming: good hints for possible program designs can be found by considering the structure of the data concerned. In particular, this lesson is a core message of the influential textbook “How to Design Programs” by Felleisen, Findler, Flatt, and Krishnamurthi. However, that book discusses using only the structure of input data for guiding program design, typically leading towards structurally recursive programs. We argue that novice programmers should also be taught to consider the structure of output data, leading them also towards structurally corecursive programs.

Information

Type
Education Matters
Copyright
© The Author(s) 2021. Published by Cambridge University Press
Submit a response

Discussions

No Discussions have been published for this article.