Functional Programming Languages and Computer Architecture

Volume 523 of the series Lecture Notes in Computer Science pp 124-144


Functional programming with bananas, lenses, envelopes and barbed wire

  • Erik MeijerAffiliated withDepartment of Informatics, University of Nijmegen
  • , Maarten FokkingaAffiliated withCWI, Amsterdam & University of Twente
  • , Ross PatersonAffiliated withImperial College

* Final gross prices may vary according to local VAT.

Get Access


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.