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.

Versions [faq] 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
Downloads 1596 total (5 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Successful builds reported [all 1 reports]




Maintainer's Corner

For package maintainers and hackage trustees