Academic
Publications
Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire

Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire,10.1007/3540543961_7,Erik Meijer,Maarten M. Fokkinga,Ross Paterson,J. Hughes

Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire   (Citations: 329)
BibTex | RIS | RefWorks Download
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.
Cumulative Annual
View Publication
The following links allow you to view full publications. These links are maintained by other sources not affiliated with Microsoft Academic Search.
    • ...We show that several important lenses on lists—including mapping—can be defined with the help of a fold, and that, due to the self-duality of lenses, folds can be composed back-to-back to yield general recursive patterns in the style of hylomorphisms [24]...
    • ...This gives us a lens version of the hylomorphism pattern from functional programming [24]...

    Martin Hofmannet al. Symmetric lenses

    • ...This notation is intentionally borrowed from the functional programming notation for such operators [14]...

    Andy Gillet al. Using functional programming to generate an LDPC forward error correct...

    • ...5 folds and unfolds are sometimes referred to as catamorphisms and anamorphisms, while the composition fold unfold is referred to as a hylomorphism [12]...

    Anthony Cowleyet al. Stream-oriented robotics programming: The design of roshask

    • ...We present a decision procedure for reasoning about recursive data types with user-defined abstraction functions, expressed as a fold over trees, or a catamorphisms [42], over algebraic data types...
    • ...We require the abstraction function to be a catamorphism (generalized fold) [42]...

    Philippe Suteret al. Decision Procedures for Algebraic Data Types with Abstractions

    • ...In the research field of functional programming, the category theoretic concept of morphisms between data types and their specific properties have already been investigated very well to describe certain recursion patterns.Backhouse et al. introduce them in the context of generic programming [1], [14] Meijer et al., for example, have described several morphisms on inductive data types [14], Hutton gives a good tutorial on fold [8], and ...
    • ...In the research field of functional programming, the category theoretic concept of morphisms between data types and their specific properties have already been investigated very well to describe certain recursion patterns.Backhouse et al. introduce them in the context of generic programming [1], [14] Meijer et al., for example, have described several morphisms on inductive data types [14], Hutton gives a good tutorial on fold [8], and ...
    • ...Furthermore, other morphisms with universal properties suggest for additional higher-order schemes, as e.g., anamorphisms as the dual to catamorphisms, as well as hylo- or paramorphisms as presented by Meijer et al. [14]...

    Martin Hofmannet al. I/O guided detection of list catamorphisms: towards problem specific u...

Sort by: