The folds package

[Tags:bsd3, library]

This package is a playground full of comonadic folds.

This style of fold is documented in "Cellular Automata, Part II: PNGs and Moore"

This package can be seen as what happens if you chase Max Rabkin's "Beautiful Folding" to its logical conclusion.

More information on this approach can be found in the "Another lovely example of type class morphisms" and "More beautiful fold zipping" posts by Conal Elliott, as well as in Gabriel Gonzales' "Composable Streaming Folds"

[Skip to Readme]


Versions 0.1, 0.2, 0.3,, 0.6, 0.6.1, 0.6.2, 0.6.3, 0.7, 0.7.1
Change log CHANGELOG.markdown
Dependencies base (==4.*), comonad (>=3.1 && <4), contravariant (>=0.4.2 && <1), lens (>=3.9 && <4), pointed (==3.*), profunctors (>=3.3 && <4), reflection (>=1.3 && <2), semigroupoids (>=3.1 && <4), tagged (>=0.7 && <1), vector (==0.10.*) [details]
License BSD3
Copyright Copyright (C) 2009-2013 Edward A. Kmett
Author Edward A. Kmett
Maintainer Edward A. Kmett <>
Stability experimental
Category Data, Comonads, Enumerator
Home page
Bug tracker
Source repository head: git clone git://
Uploaded Sun Sep 8 04:35:27 UTC 2013 by EdwardKmett
Distributions NixOS:0.7.1
Downloads 1683 total (17 in the last 30 days)
1 []
Status Docs uploaded by user
Build status unknown [no reports yet]





Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees

Readme for folds

Readme for folds-0.3


Build Status

A playground for working with different kinds of comonadic folds.

Contact Information

Contributions and bug reports are welcome!

Please feel free to contact me through github or on the #haskell IRC channel on

-Edward Kmett