Abstract
Countdown is the name of a game in which one is given a list of source numbers and a target number, with the aim of building an arithmetic expression out of the source numbers to get as close to the target as possible. Starting with a relational specification we derive a number of functional programs for solving Countdown. These programs are obtained by exploiting the properties of the folds and unfolds of various data types, a style of programming Gibbons has aptly called origami programming. Countdown is attractive as a case study in origami programming both as an illustration of how different algorithms can emerge from a single specification, as well as the space and time trade-offs that have to be taken into account in comparing functional programs. © 2005 Cambridge University Press.
Cite
CITATION STYLE
Bird, R., & Mu, S. C. (2005). Countdown: A case study in origami programming. Journal of Functional Programming, 15(5), 679–702. https://doi.org/10.1017/S0956796805005642
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.