Export `Traversable()` and `Foldable()` from Prelude
authorHerbert Valerio Riedel <hvr@gnu.org>
Mon, 15 Sep 2014 06:37:30 +0000 (08:37 +0200)
committerHerbert Valerio Riedel <hvr@gnu.org>
Mon, 15 Sep 2014 06:37:39 +0000 (08:37 +0200)
commitc0fa383d9109800a4e46a81b418f1794030ba1bd
tree19dc80e4d266eb6fd7b56b6f61d4f7ed4f10a097
parent004c5f4fec78414943d788c2a8b42a4500272949
Export `Traversable()` and `Foldable()` from Prelude

This exposes *only* the type-classes w/o any of their methods.
This is the very first step for implementing BPP (see #9586), which
already requires breaking up several import-cycles leading back to `Prelude`.

Ideally, importing `Prelude` should be avoided in most `base` modules,
as `Prelude` does not define any entities, but rather re-exports
existing ones.

Test Plan: validate passes

Reviewers: ekmett, austin

Reviewed By: ekmett, austin

Subscribers: simonmar, ezyang, carter

Differential Revision: https://phabricator.haskell.org/D209

GHC Trac Issues: #9586
21 files changed:
compiler/hsSyn/HsDecls.lhs
compiler/utils/BooleanFormula.hs
libraries/base/Control/Applicative.hs
libraries/base/Control/Arrow.hs
libraries/base/Control/Category.hs
libraries/base/Control/Monad/Fix.hs
libraries/base/Data/Data.hs
libraries/base/Data/Foldable.hs
libraries/base/Data/Function.hs
libraries/base/Data/Functor.hs
libraries/base/Data/Traversable.hs
libraries/base/Data/Version.hs
libraries/base/Debug/Trace.hs
libraries/base/GHC/Exts.hs
libraries/base/GHC/Stack.hsc
libraries/base/Prelude.hs
testsuite/tests/ghci/scripts/T4175.stdout
testsuite/tests/ghci/scripts/T7627.stdout
testsuite/tests/ghci/scripts/ghci011.stdout
testsuite/tests/perf/compiler/all.T
testsuite/tests/typecheck/should_compile/FD2.stderr