The church-list package
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.
|Dependencies||base (>=3 && <5) [details]|
|Source repository||head: git clone git://github.com/jwiegley/church-list.git|
|Uploaded||Sat May 3 07:28:53 UTC 2014 by JohnWiegley|
|Downloads||500 total (7 in the last 30 days)|
|Status||Docs available [build log]
Successful builds reported [all 1 reports]
For package maintainers and hackage trustees