compact-list

An append only list in a compact region

https://github.com/composewell/compact-list

Latest on Hackage:0.1.0

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD-3-Clause licensed by Harendra Kumar
Maintained by [email protected]

If you hold on to a large data structure in garbage collected (GC) memory for relatively longer times it puts undue pressure on GC, unnecessarily increasing the work done by GC and also increasing the duration of GC pauses. A CompactList allows you to keep a large list in a Compact Region not touched by GC, thus avoiding any GC overhead. This is essentially like a convenient in-memory append only file where you can write a list of Haskell values without having to marshall or serialize them.