Skip to content

vmchale/recursion_schemes

Repository files navigation

recursion_schemes

Build Status

This is a library providing recursion schemes for Idris. It it is loosely based on Edward Kmett's Haskell library.

Installation

First, install idris-free, comonad and composition. Then:

idris --install recursion_schemes.ipkg

To run the tests, install specdris. Then:

idris --testpkg test.ipkg

Use

The classic paper Functional programming with bananas, lenses, envelopes and barbed wire is the inspiration behind the Haskell library and is the standard reference on the topic. You may also find Law and Order in Algorithmics to be of use.

Examples

In the Test.Spec module there are several examples, including a catamorphism, a zygomorphism, a mutumorphism, an Elgot algebra, a paramorphism, a dynamorphism, and a hylomorphism.

Documentation

You can find documentation here.