@hackage pqueue-mtl1.0.7

Fully encapsulated monad transformers with queuelike functionality.

Contains several implementations of data structures implementing a single-in, single-out paradigm, and implements monad transformers for their safe use. The monad transformer part of the library includes tools to fully encapsulate single-threaded use of a priority queue in a monad, including an array-based heap implementation. In general, the purely functional queue types can be ordered in increasing order of speed on generic insertion/deletion operations as follows: Stack, Queue, PQueue, IntQueue, SkewQueue, FQueue, Heap. (PQueue, IntQueue, and SkewQueue are all very nearly the same speed.) Work is in progress on a van Emde Boas or y-fast priority queue implementation, which provides sublogarithmic functionality for all operations. This package is now deprecated. Use queuelike instead.