- Deprecate
mapU
and replace it bymapMonotonic
inData.PQeueu.Min
andData.PQueue.Max
(#129)
-
Fix incorrect behavior of
mapMaybe
andmapEither
forMinQueue
. These previously worked only for monotonic functions. -
Fix a performance bug that caused queue performance not to improve when the queue shrinks. (#109)
-
Make
minView
more eager, improving performance in typical cases. (#107) -
Make mapping and traversal functions force the full data structure spine. This should make performance more predictable, and removes the last remaining reasons to use the
seqSpine
functions. As these are no longer useful, deprecate them. (#103) -
Deprecate
insertBehind
. This function does not play nicely with merges, we lack tests to verify it works properly without merges, it imposes a substantial maintenance burden on the rest of the package, and it is quite slow. (#35) -
Add pattern synonyms to work with
MinQueue
andMinPQueue
. (#92) -
Make the
Data
instances respect the queue invariants. Make theConstr
s match the pattern synonyms. Make theData
instance forMinPQueue
work "incrementally", like the one forMinQueue
. (#92)
- Add instances for indexed-traversable. (#85)
- Add ghc-9.4 support. (#86)
-
Overall performance has improved greatly, especially when there are many insertions and/or merges in a row. Insertion, deletion, and merge are now worst case logarithmic, while maintaining their previous amortized bounds. (#26)
-
New
mapMWithKey
functions optimized for working in strict monads. These are used to implement themapM
andsequence
methods ofTraversable
. (#46) -
Define
stimes
in theSemigroup
instances. (#57) -
Add strict left unordered folds (
foldlU'
,foldlWithKeyU'
) and monoidal unordered folds (foldMapU
,foldMapWithKeyU
). (#59) -
New functions for adjusting and updating the min/max of a key-value priority queue in an
Applicative
context. (#66) -
Fixed
Data.PQueue.Max.map
to work onMaxQueue
s. (#76)
- Maintenance release for ghc-9.0 & ghc-9.2 support
- Change nix-setup to use the seaaye tool
- Maintenance release
- Add missing documentation
- Add nix-expressions for testing against different compilers/package sets
- Maintenance release for ghc-8.6
- Drop support for ghc<7.10
-
Remove/replace buggy
insertBehind
implementation.The existing implementation did not always insert behind. As a fix, the function was removed from Data.PQueue.Max/Min and was rewritten with a O(n) complexity (!) for Data.PQueue.Prio.Max/Min.
-
Adapt for ghc-8.4, based on the ghc-8.4.1-alpha1 release
-
Drop support for ghc<7.4
- Maintenance release for ghc-8.2
- Add test-suite from darcs repository for pqueue-1.0.1.
- Fix documentation errors
- complexity on
toList
,toListU
PQueue.Prio.Max
had "ascending" instead of "descending" in some places
- complexity on
- Add function
insertBehind
as a slight variation ofinsert
which differs in behaviour for elements the compare equal.
- Ensure compatibility with ghc-8
- Minor internal refactors
- Add
Monoid
instance forMaxPQueue
- Lennart Spitzner starts co-maintaining
- new git repository at github.com:lspitzner/pqueue
- Ensure compatibility with ghc-7.10