Reference. How to design co-programs
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.
Cite
Cited by (1)
Fantastic Morphisms and Where to Find Them: A Guide to Recursion Schemes yang-2022-fantastic
Cites 16 works (0 here)
External (16)
- Coding with asymmetric numeral systems (2019)
- How to Design Programs (2018)
- On teaching 'How to Design Programs': Observations from a newcomer (2014)
- Program by Design (2009)
- Metamorphisms: Streaming representation-changers (2007)
- The structure and interpretation of the computer science curriculum (2004)
- Arithmetic coding with folds and unfolds (2003)
- JSP in perspective (2002)
- How to Design Programs (first edition) (2001)
- The Cathedral and the Bazaar (1999)
- Virtual data structures (1993)
- Functional programming with bananas, lenses, envelopes and barbed wire (1991)
- Deforestation: Transforming programs to eliminate trees (1990)
- Principles of Program Design (1975)
- The Mythical Man-Month: Essays on Software Engineering (1975)
- Notes on data structuring (1972)