Generalise Control.Monad.{sequence_,msum,mapM_,forM_}
authorHerbert Valerio Riedel <hvr@gnu.org>
Thu, 18 Sep 2014 21:05:57 +0000 (23:05 +0200)
committerHerbert Valerio Riedel <hvr@gnu.org>
Thu, 18 Sep 2014 21:13:03 +0000 (23:13 +0200)
commitb4060858f5201489e11ab57063e72380c03c3b55
treea7f352b37043736183432191621fd501a308e1e5
parentaf22696b8f6d8b677c33f70537a5999ad94266cd
Generalise Control.Monad.{sequence_,msum,mapM_,forM_}

This finally takes the gloves off, and performs the first actual
generalization in order to implement #9586. This re-exports the
respective definitions for the 4 combinators defined in Data.Foldable.

This way, importing Data.Foldable and Control.Monad unqualified won't bring
conflicting definitions of those 4 entities into scope anymore.

This change seems to have some minor effect on rule-firing, which
causes some wibble in the test-case T4007

Reviewed By: ekmett, austin

Differential Revision: https://phabricator.haskell.org/D226
libraries/base/Control/Monad.hs
testsuite/tests/perf/compiler/T4007.stdout