diff options
author | Ryan Scott <ryan.gl.scott@gmail.com> | 2016-06-18 12:17:24 +0200 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2016-06-19 00:27:06 +0200 |
commit | 270d545d557352d5f264247987ee8388f0812187 (patch) | |
tree | 9ee170579a483695d8ab30c0ea7ac40ad59a4be1 /testsuite/tests/annotations/should_fail/annfail10.hs | |
parent | 6354991fe61b065d2c993eefdd5fd694bc6136b8 (diff) | |
download | haskell-270d545d557352d5f264247987ee8388f0812187.tar.gz |
Add Bifoldable and Bitraversable to base
This adds `Data.Bifoldable` and `Data.Bitraversable` from the
`bifunctors` package to `base`, completing the migration started in
D336. This is fairly straightforward, although there were a suprising
amount of reinternal organization in `base` that was needed for this to
happen:
* `Data.Foldable`, `Data.Traversable`, `Data.Bifoldable`, and
`Data.Bitraversable` share some nonexported datatypes (e.g., `StateL`,
`StateR`, `Min`, `Max`, etc.) to implement some instances. To avoid
code duplication, I migrated this internal code to a new hidden
module, `Data.Functor.Utils` (better naming suggestions welcome).
* `Data.Traversable` and `Data.Bitraversable` also make use of an
identity newtype, so I modified them to use
`Data.Functor.Identity.Identity`. This has a ripple effect on several
other modules, since I had to move instances around in order to avoid
dependency cycles.
Fixes #10448.
Reviewers: ekmett, hvr, austin, bgamari
Reviewed By: bgamari
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D2284
GHC Trac Issues: #9682, #10448
Diffstat (limited to 'testsuite/tests/annotations/should_fail/annfail10.hs')
0 files changed, 0 insertions, 0 deletions