Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire
E. Meijer, M. Fokkinga, and R. Paterson. Proceedings of the 5th ACM Conference on Functional Programming Languages and Computer Architecture (FPCA'91), page 124--144. Springer Verlag, (1991)
Abstract
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.
%0 Conference Paper
%1 MeijerFoPa91
%A Meijer, Erik
%A Fokkinga, Maarten
%A Paterson, Ross
%B Proceedings of the 5th ACM Conference on Functional Programming Languages and Computer Architecture (FPCA'91)
%D 1991
%I Springer Verlag
%K catamorphisms formal_methods functional_programming higher-order_functions programming recursion_theory seminal_paper
%P 124--144
%T Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire
%U http://dx.doi.org/10.1007/3540543961_7
%X 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.
@inproceedings{MeijerFoPa91,
abstract = {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.},
added-at = {2008-11-22T21:51:20.000+0100},
author = {Meijer, Erik and Fokkinga, Maarten and Paterson, Ross},
biburl = {https://www.bibsonomy.org/bibtex/2582aacc9cd3754c0b6615eaa4ce8ad9b/emanuel},
booktitle = {Proceedings of the 5th ACM Conference on Functional Programming Languages and Computer Architecture ({FPCA'91})},
interhash = {20a3535be02b230e95a37bfe43464536},
intrahash = {582aacc9cd3754c0b6615eaa4ce8ad9b},
keywords = {catamorphisms formal_methods functional_programming higher-order_functions programming recursion_theory seminal_paper},
pages = {124--144},
publisher = {Springer Verlag},
timestamp = {2008-11-22T21:51:20.000+0100},
title = {Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire},
url = {http://dx.doi.org/10.1007/3540543961_7},
year = 1991
}