containers 0.5.9.1
The containers package contains efficient general-purpose implementations of various basic immutable container types. The declared cost of each operation is either worst-case or amortized, but remains valid even if structures are shared.
Changes since 0.5.8.1 (2016-08-31)
The headline change is adding merge
and mergeA
for Data.IntMap
. The versions for Data.Map
were introduced in 0.5.8.1, so this change restores parity between the interfaces. With this in place we hope this version will make it into GHC 8.2.
Other changes include:
- Add instances for
Data.Graph.SCC
:Foldable
,Traversable
,Data
,Generic
,Generic1
,Eq
,Eq1
,Show
,Show1
,Read
, andRead1
. - Add lifted instances (from
Data.Functor.Classes
) forData.Sequence
,Data.Map
,Data.Set
,Data.IntMap
, andData.Tree
. (Thanks to Oleg Grenrus for doing a lot of this work.) - Properly deprecate functions in
Data.IntMap
long documented as deprecated. - Rename several internal modules for clarity. Thanks to esoeylemez for starting this process.
- Make
Data.Map.fromDistinctAscList
andData.Map.fromDistinctDescList
more eager, improving performance. - Plug space leaks in
Data.Map.Lazy.fromAscList
andData.Map.Lazy.fromDescList
by manually inlining constant functions. - Add
lookupMin
andlookupMax
toData.Set
andData.Map
as total alternatives tofindMin
andfindMax
. - Add
(!?)
toData.Map
as a total alternative to(!)
. - Avoid using
deleteFindMin
anddeleteFindMax
internally, preferring total functions instead. New implementations of said functions lead to slight performance improvements overall.