Recursion schemes for Idris
Switch branches/tags
Nothing to show
Clone or download
Latest commit e10780a Aug 24, 2018
Failed to load latest commit information.
Data/Functor clearer Aug 19, 2018
Test mu Nov 11, 2017
docs docs etc Aug 17, 2018
.ctags tagfile Oct 23, 2017
.gitignore gitignore Aug 14, 2018
.travis.yml ci Aug 23, 2018
.yamllint travis Nov 1, 2017
Justfile docs idk Nov 13, 2017
LICENSE from template Jul 13, 2017 readme updated w/ maturity Apr 7, 2018 todo Apr 8, 2018
elba.toml gitignore Aug 14, 2018
recursion_schemes.ipkg remove dependencies Feb 26, 2018
test.ipkg remove dependencies Feb 26, 2018


Build Status

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


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

idris --install recursion_schemes.ipkg

To run the tests, install specdris. Then:

idris --testpkg test.ipkg


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.


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.


You can find documentation here.