Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire

@inproceedings{Meijer1991FunctionalPW,
  title={Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire},
  author={E. Meijer and M. Fokkinga and R. Paterson},
  booktitle={FPCA},
  year={1991}
}
We develop a calculus for lazy functional programming based on recursion operators associated with data type definitions. For these operators we derive various algebraic laws that are useful in deriving and manipulating programs. We shall show that all example functions in Bird and Wadler's Introduction to Functional Programming can be expressed using these operators. 
Sliced bananas on opaque data ? The expression lemma
FUNCTIONAL PROGRAMMING WITH APOMORPHISMS (CORECURSION)
The Expression Lemma
Down with variables
Polytipic recursion patterns
Polytypic Recursion Patterns
Shortcut deforestation in calculational form
Lazy UTP
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 52 REFERENCES
Introduction to functional programming
  • R. Bird, P. Wadler
  • Computer Science
  • Prentice Hall International series in computer science
  • 1988
An introduction to the theory of lists
Comprehending monads
  • P. Wadler
  • Computer Science
  • LISP and Functional Programming
  • 1990
Retractions in comparing Prolog semantics
Theorems for free!
Codatatypes in ML
  • T. Hagino
  • Computer Science, Mathematics
  • J. Symb. Comput.
  • 1989
Program Calculation Properties of Continuous Algebras
Algorithmics : towards programming as a mathematical activity
...
1
2
3
4
5
...