[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