Generalise Data.List/Control.Monad to Foldable/Traversable
authorHerbert Valerio Riedel <hvr@gnu.org>
Sun, 21 Sep 2014 17:15:46 +0000 (19:15 +0200)
committerHerbert Valerio Riedel <hvr@gnu.org>
Sun, 21 Sep 2014 17:15:59 +0000 (19:15 +0200)
commit1f7f46f94a95ab7fc6f3101da7c02529e1964f24
tree098339660b344ce71a8f7ca289902d10ca82b2b0
parent5ed12810e0972b1e0d408fe1355805746c4614f9
Generalise Data.List/Control.Monad to Foldable/Traversable

This flips the switch and replaces the entities in
`Data.List`/`Control.Monad` conflicting with
`Data.{Foldable,Traversable}` with re-exports of the more general
versions.

As of this commit, the code below (which is also added as a test-case)
compiles w/o error.

    module XPrelude (module X) where

    import Control.Monad     as X
    import Data.Foldable     as X
    import Data.List         as X
    import Data.Monoid       as X
    import Data.Traversable  as X
    import Prelude           as X

This addresses #9568

Reviewed By: ekmett, austin

Differential Revision: https://phabricator.haskell.org/D235
libraries/base/Control/Monad.hs
libraries/base/Data/Foldable.hs
libraries/base/Data/List.hs
libraries/base/Data/Traversable.hs
libraries/base/changelog.md
libraries/base/tests/T9586.hs [new file with mode: 0644]
libraries/base/tests/all.T
testsuite/tests/rename/should_compile/T1972.stderr