Please feel free to contact me through github or on the #haskell IRC channel on irc.freenode.net.
-Edward Kmett
Changes
5.5.3 [2018.07.04]
Make biliftA2 a class method of Biapplicative.
Add the traverseBia, sequenceBia, and traverseBiaWith functions for
traversing a Traversable container in a Biapplicative.
Avoid incurring some dependencies when using recent GHCs.
5.5.2 [2018.02.06]
Don’t enable Safe on GHC 7.2.
5.5.1 [2018.02.04]
Test suite fixes for GHC 8.4.
5.5 [2017.12.07]
Data.Bifunctor.TH now derives bimap/bitraverse
implementations for empty data types that are strict in the argument.
Data.Bifunctor.TH no longer derives bifoldr/bifoldMap implementations
that error on empty data types. Instead, they simply return the folded state
(for bifoldr) or mempty (for bifoldMap).
When using Data.Bifunctor.TH to derive Bifunctor or Bitraversable
instances for data types where the last two type variables are at phantom
roles, generated bimap/bitraverse implementations now use coerce for
efficiency.
Add Options to Data.Bifunctor.TH, along with variants of existing
functions that take Options as an argument. For now, the only configurable
option is whether derived instances for empty data types should use the
EmptyCase extension (this is disabled by default).
5.4.2
Make deriveBitraversable use liftA2 in derived implementations of bitraverse when possible, now that liftA2 is a class method of Applicative (as of GHC 8.2)
Backport slightly more efficient implementations of bimapDefault and bifoldMapDefault
5.4.1
Add explicit Safe, Trustworthy, and Unsafe annotations. In particular, annotate the Data.Bifoldable module as Trustworthy (previously, it was inferred to be Unsafe).
5.4
Only export Data.Bifoldable and Data.Bitraversable when building on GHC < 8.1, otherwise they come from base
Allow TH derivation of Bifunctor and Bifoldable instances for datatypes containing unboxed tuple types