church-list: Lazy lists with O(1) concatenation that, unlike dlists, allow inspection

[ deprecated, library, mit, system ] [ Propose Tags ]

Replicates the Data.List interface for lists built around the type forall r. Monoid r => (a -> r) -> r. This allows for O(1) concatenation and snoc, just as difference lists do, but without requiring that every operation (such as map) render the list.

As motivation: Although difference lists are great for use with Writer, they are horrible for use with State, because getting the list and querying an element will result in producing a structure which is thrown away. With mlists, you can both append to, and inspect, the list in progress without any wasted work.




Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.0.1, 0.0.2
Dependencies base (>=3 && <5) [details]
License MIT
Author John Wiegley
Category System
Source repo head: git clone git://
Uploaded by JohnWiegley at 2014-05-03T07:28:53Z
Distributions NixOS:0.0.2
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 1866 total (2 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Successful builds reported [all 1 reports]