Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire

Erik Meijer, J. Hughes (Editor), M.M. Fokkinga, Ross Paterson

Research output: Contribution to conferencePaperAcademicpeer-review

310 Citations (Scopus)
4549 Downloads (Pure)


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.
Original languageUndefined
Number of pages21
Publication statusPublished - Aug 1991


  • EWI-7281
  • IR-56289

Cite this