A novel representation of lists and its application to the function "reverse"
Information Processing Letters
Attribute grammars as a functional programming paradigm
Proc. of a conference on Functional programming languages and computer architecture
Lambda-dropping: transforming recursive equations into programs with block structure
Theoretical Computer Science - Partial evaluation and semantics-based program manipulation
Christopher Strachey: Recollections of His Influence
Higher-Order and Symbolic Computation
Cambridge and CPL in the 1960s
Higher-Order and Symbolic Computation
Christopher Strachey and the Cambridge CPL Compiler
Higher-Order and Symbolic Computation
Proceedings of the 3rd ACM SIGPLAN international conference on Principles and practice of declarative programming
Hi-index | 0.00 |
Over forty years ago, David Barron and Christopher Strachey published a startlingly elegant program for the Cartesian product of a list of lists, expressing it with a three nested occurrences of the function we now call foldr. This program is remarkable for its time because of its masterful display of higher-order functions and lexical scope, and we put it forward as possibly the first ever functional pearl. We first characterize it as the result of a sequence of program transformations, and then apply similar transformations to a program for the classical power set example. We also show that using a higher-order representation of lists allows a definition of the Cartesian product function where foldr is nested only twice.