[commit: ghc] master: Make Applicative a superclass of Monad (d94de87)
git at git.haskell.org
git at git.haskell.org
Tue Sep 9 13:13:55 UTC 2014
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/d94de87252d0fe2ae97341d186b03a2fbe136b04/ghc
>---------------------------------------------------------------
commit d94de87252d0fe2ae97341d186b03a2fbe136b04
Author: Austin Seipp <austin at well-typed.com>
Date: Tue Apr 22 06:09:40 2014 -0500
Make Applicative a superclass of Monad
Summary:
This includes pretty much all the changes needed to make `Applicative`
a superclass of `Monad` finally. There's mostly reshuffling in the
interests of avoid orphans and boot files, but luckily we can resolve
all of them, pretty much. The only catch was that
Alternative/MonadPlus also had to go into Prelude to avoid this.
As a result, we must update the hsc2hs and haddock submodules.
Signed-off-by: Austin Seipp <austin at well-typed.com>
Test Plan: Build things, they might not explode horribly.
Reviewers: hvr, simonmar
Subscribers: simonmar
Differential Revision: https://phabricator.haskell.org/D13
>---------------------------------------------------------------
d94de87252d0fe2ae97341d186b03a2fbe136b04
aclocal.m4 | 4 +-
compiler/cmm/CmmLayoutStack.hs | 4 +
compiler/cmm/CmmLint.hs | 4 +-
compiler/cmm/PprC.hs | 2 +
compiler/codeGen/StgCmmBind.hs | 4 +
compiler/codeGen/StgCmmExpr.hs | 4 +
compiler/codeGen/StgCmmExtCode.hs | 5 +-
compiler/codeGen/StgCmmForeign.hs | 5 +
compiler/codeGen/StgCmmHeap.hs | 4 +
compiler/codeGen/StgCmmLayout.hs | 4 +
compiler/codeGen/StgCmmMonad.hs | 20 +-
compiler/codeGen/StgCmmPrim.hs | 4 +
compiler/codeGen/StgCmmUtils.hs | 2 +-
compiler/coreSyn/CoreLint.lhs | 2 +-
compiler/deSugar/Coverage.lhs | 2 +-
compiler/deSugar/DsExpr.lhs | 2 +-
compiler/deSugar/MatchLit.lhs | 2 +-
compiler/ghci/ByteCodeAsm.lhs | 2 +
compiler/ghci/ByteCodeGen.lhs | 2 +
compiler/hsSyn/Convert.lhs | 3 +
compiler/hsSyn/HsBinds.lhs | 7 +-
compiler/iface/IfaceSyn.lhs | 34 +--
compiler/iface/LoadIface.lhs | 26 +--
compiler/iface/MkIface.lhs | 4 +-
compiler/llvmGen/LlvmCodeGen/Base.hs | 2 +
compiler/main/CmdLineParser.hs | 3 +-
compiler/main/DriverPipeline.hs | 6 +-
compiler/main/ErrUtils.lhs | 4 +
compiler/main/Finder.lhs | 14 +-
compiler/main/HeaderInfo.hs | 2 +-
compiler/main/Packages.lhs | 6 +-
compiler/nativeGen/AsmCodeGen.lhs | 10 +-
compiler/nativeGen/NCGMonad.hs | 2 +
compiler/nativeGen/RegAlloc/Linear/State.hs | 4 +-
compiler/parser/Lexer.x | 8 +
compiler/parser/RdrHsSyn.lhs | 5 +
compiler/prelude/PrelNames.lhs | 14 +-
compiler/prelude/PrelRules.lhs | 3 +
compiler/profiling/SCCfinal.lhs | 3 +-
compiler/rename/RnEnv.lhs | 14 +-
compiler/rename/RnExpr.lhs | 2 +-
compiler/rename/RnNames.lhs | 8 +-
compiler/simplCore/CoreMonad.lhs | 8 +-
compiler/specialise/Specialise.lhs | 2 +
compiler/stgSyn/StgLint.lhs | 4 +-
compiler/typecheck/TcBinds.lhs | 2 +-
compiler/typecheck/TcDeriv.lhs | 2 +-
compiler/typecheck/TcExpr.lhs | 10 +-
compiler/typecheck/TcForeign.lhs | 6 +-
compiler/typecheck/TcInstDcls.lhs | 2 +-
compiler/typecheck/TcPat.lhs | 2 +-
compiler/typecheck/TcRnDriver.lhs | 4 +
compiler/typecheck/TcRnMonad.lhs | 6 +-
compiler/typecheck/TcTyClsDecls.lhs | 2 +-
compiler/typecheck/TcTyDecls.lhs | 4 +
compiler/typecheck/TcType.lhs | 2 +
compiler/typecheck/TcUnify.lhs | 4 +-
compiler/typecheck/TcValidity.lhs | 2 +-
compiler/types/Unify.lhs | 2 +
compiler/utils/IOEnv.hs | 3 +
compiler/utils/Maybes.lhs | 3 +
compiler/utils/Stream.hs | 5 +-
compiler/vectorise/Vectorise/Exp.hs | 24 +-
compiler/vectorise/Vectorise/Type/Env.hs | 2 +-
ghc/GhciMonad.hs | 7 +-
ghc/InteractiveUI.hs | 3 +-
libraries/base/Control/Applicative.hs | 214 +----------------
libraries/base/Control/Arrow.hs | 8 +
libraries/base/Control/Monad.hs | 120 ++++------
libraries/base/Control/Monad/ST/Lazy/Imp.hs | 4 +
libraries/base/Data/Either.hs | 5 +
libraries/base/Data/Maybe.hs | 16 ++
libraries/base/Data/Monoid.hs | 106 +--------
libraries/base/Data/Proxy.hs | 11 +
libraries/base/Foreign/Storable.hs | 2 -
libraries/base/GHC/Base.lhs | 258 ++++++++++++++++++++-
libraries/base/GHC/Conc/Sync.lhs | 12 +-
libraries/base/GHC/Event/Array.hs | 2 +-
libraries/base/GHC/Event/EPoll.hsc | 1 -
libraries/base/GHC/Event/Internal.hs | 1 -
libraries/base/GHC/Event/Manager.hs | 3 +-
libraries/base/GHC/Event/Poll.hsc | 3 +-
libraries/base/GHC/Event/TimerManager.hs | 3 +-
libraries/base/GHC/GHCi.hs | 9 +-
libraries/base/GHC/ST.lhs | 4 +
libraries/base/Prelude.hs | 3 +-
libraries/base/Text/ParserCombinators/ReadP.hs | 59 +++--
libraries/base/Text/ParserCombinators/ReadPrec.hs | 11 +-
.../template-haskell/Language/Haskell/TH/PprLib.hs | 1 -
.../template-haskell/Language/Haskell/TH/Syntax.hs | 4 +-
mk/validate-settings.mk | 8 +-
testsuite/tests/deriving/should_fail/T3621.hs | 4 +-
testsuite/tests/deriving/should_fail/T3621.stderr | 2 +-
testsuite/tests/deriving/should_run/drvrun019.hs | 2 +-
testsuite/tests/ghci/scripts/T4175.stdout | 1 +
testsuite/tests/ghci/scripts/T7627.stdout | 2 +
testsuite/tests/ghci/scripts/T8535.stdout | 3 +-
testsuite/tests/ghci/scripts/ghci011.stdout | 3 +
testsuite/tests/ghci/scripts/ghci020.stdout | 1 +
testsuite/tests/ghci/scripts/ghci025.stdout | 5 +-
testsuite/tests/ghci/scripts/ghci027.stdout | 4 +-
testsuite/tests/indexed-types/should_fail/T4485.hs | 6 +-
.../tests/indexed-types/should_fail/T4485.stderr | 8 +-
testsuite/tests/indexed-types/should_fail/T7729.hs | 8 +
.../tests/indexed-types/should_fail/T7729.stderr | 6 +-
.../tests/indexed-types/should_fail/T7729a.hs | 8 +
.../tests/indexed-types/should_fail/T7729a.stderr | 8 +-
testsuite/tests/mdo/should_compile/mdo002.hs | 8 +
.../tests/parser/should_compile/T7476/T7476.stdout | 2 +-
testsuite/tests/perf/compiler/all.T | 17 +-
testsuite/tests/perf/haddock/all.T | 6 +-
testsuite/tests/polykinds/MonoidsFD.hs | 6 +-
testsuite/tests/polykinds/MonoidsTF.hs | 6 +-
testsuite/tests/rebindable/rebindable2.hs | 12 +-
testsuite/tests/rename/should_compile/T1954.hs | 2 -
testsuite/tests/rename/should_compile/T7145a.hs | 1 -
.../tests/rename/should_compile/T7145b.stderr | 2 +-
testsuite/tests/rename/should_fail/T2993.stderr | 4 +-
.../tests/simplCore/should_compile/T8848.stderr | 6 +-
.../tests/simplCore/should_compile/simpl017.hs | 11 +
.../tests/simplCore/should_compile/simpl017.stderr | 26 +--
testsuite/tests/simplCore/should_run/T3591.hs | 18 +-
testsuite/tests/typecheck/should_compile/T4524.hs | 13 +-
testsuite/tests/typecheck/should_compile/T4969.hs | 9 +-
testsuite/tests/typecheck/should_compile/tc213.hs | 2 +-
utils/ghc-pkg/Main.hs | 2 +
utils/haddock | 2 +-
utils/hsc2hs | 2 +-
128 files changed, 848 insertions(+), 621 deletions(-)
Diff suppressed because of size. To see it, use:
git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc d94de87252d0fe2ae97341d186b03a2fbe136b04
More information about the ghc-commits
mailing list