<div dir="ltr">Lots of goodies here! Thank you for all your hard-work, everyone!</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 23, 2018 at 8:19 PM, David Feuer <span dir="ltr"><<a href="mailto:david.feuer@gmail.com" target="_blank">david.feuer@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">We have just released containers version 0.5.11.0. This is the first<br>
release since Matt Renaud joined the maintenance team. Matt has<br>
focused on documentation, code quality, and testing, and made some<br>
substantial contributions in these areas.<br>
<br>
This release comes with quite a few new functions and instances,<br>
written by quite a few different contributors. It also includes a<br>
complete overhaul of the sorting machinery in Data.Sequence thanks to<br>
Donnacha Oisín Kidney. And Matt Renaud has launched a brand new set of<br>
tutorial documentation at<br>
<a href="https://haskell-containers.readthedocs.io/en/latest/" rel="noreferrer" target="_blank">https://haskell-containers.<wbr>readthedocs.io/en/latest/</a><br>
<br>
Many thanks to all the contributors who made this release possible!<br>
The complete changelog can be found below.<br>
<br>
David Feuer<br>
Matt Renaud<br>
Wren Romano<br>
<br>
<br>
New functions and class instances<br>
<br>
* Add a `MonadFix` instance for `Data.Sequence`.<br>
<br>
* Add a `MonadFix` instance for `Data.Tree`.<br>
<br>
* Add `powerSet`, `cartesianProduct`, and `disjointUnion` for<br>
  `Data.Set`. (Thanks, Edward Kmett.)<br>
<br>
* Add `disjoint` for `Data.Set` and `Data.IntSet`. (Thanks, Víctor López Juan.)<br>
<br>
* Add `lookupMin` and `lookupMax` to `Data.IntMap`. (Thanks, bwroga.)<br>
<br>
* Add `unzip` and `unzipWith` to `Data.Sequence`. Make unzipping<br>
  build its results in lockstep to avoid certain space leaks.<br>
<br>
* Add carefully optimized implementations of `sortOn` and `unstableSortOn`<br>
  to `Data.Sequence`. (Thanks, Donnacha Oisín Kidney.)<br>
<br>
Changes to existing functions and features<br>
<br>
* Make `Data.Sequence.replicateM` a synonym for `replicateA`<br>
  for post-AMP `base`.<br>
<br>
* Rewrite the `IsString` instance head for sequences, improving compatibility<br>
  with the list instance and also improving type inference. We used to have<br>
<br>
      instance IsString (Seq Char)<br>
<br>
  Now we commit more eagerly with<br>
<br>
      instance a ~ Char => IsString (Seq a)<br>
<br>
* Make `>>=` for `Data.Tree` strict in the result of its second argument;<br>
  being too lazy here is almost useless, and violates one of the monad identity<br>
  laws. Specifically, `return () >>= \_ -> undefined` should always be<br>
  `undefined`, but this was not the case.<br>
<br>
* Harmonize laziness details for `minView` and `maxView` between<br>
  `Data.IntMap` and `Data.Map`.<br>
<br>
Performance improvement<br>
<br>
* Speed up both stable and unstable sorting for `Data.Sequence`<br>
(Thanks, Donnacha Oisín Kidney.)<br>
<br>
Other changes<br>
<br>
* Update for recent and upcoming GHC and Cabal versions (Thanks, Herbert<br>
  Valerio Reidel, Simon Jakobi, and Ryan Scott.)<br>
<br>
* Improve external and internal documentation (Thanks, Oleg Grenrus<br>
  and Benjamin Hodgson.)<br>
<br>
* Add tutorial-style documentation.<br>
<br>
* Add Haddock `@since` annotations for changes made since version<br>
  0.5.4 (Thanks, Simon Jakobi.)<br>
<br>
* Add a (very incomplete) test suite for `Data.Tree`.<br>
<br>
* Add structural validity checks to the test suites for `Data.IntMap`<br>
  and `Data.IntSet` (Thanks to Joachim Breitner for catching an error<br>
  in a first draft.)<br>
______________________________<wbr>_________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-<wbr>bin/mailman/listinfo/haskell-<wbr>cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</blockquote></div><br></div>