
I've released a small (one-module) library [1] inspired by functions in Data.Conduit.List like sourceList, consumeList, and take. The most recent (by a few days) depends on conduit-0.3.*, but vector-conduit-0.2.1.0 depends on conduit-0.2.*. Notably, however, the two have different APIs (0.3 has an API more consistent with other vector operations). Use of any versions below 0.2.1 is discouraged as consumeVector is notably less efficient since in those versions it relies on a dlist. This should be useful for replacing consumeList with consumeVector, since consumeVector is much more efficient for reading in a large amount of values with, at this point, very little code overhead for using a Vector rather than a list. The library uses Data.Vector.Generic so unboxed, boxed, immutable, and mutable vectors are all supported, along with conduits for converting between mutable and immutable. [1] http://hackage.haskell.org/package/vector-conduit-0.3.0.0