[commit: ghc] type-nats: Merge remote-tracking branch 'origin/master' into type-nats (7a5f592)

Iavor Diatchki <[email protected]>
Newsgroups gmane.comp.lang.haskell.cvs.ghc
Message-ID <[email protected]>
Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : type-nats

http://hackage.haskell.org/trac/ghc/changeset/7a5f592b449ae7841bf58fc21df60aa3b3a96d0a

>---------------------------------------------------------------

commit 7a5f592b449ae7841bf58fc21df60aa3b3a96d0a
Merge: 2355fdc... 4a138b7...
Author: Iavor S. Diatchki <[email protected]>
Date:   Sat Oct 6 14:06:05 2012 -0700

    Merge remote-tracking branch 'origin/master' into type-nats
    
    Conflicts:
    	compiler/typecheck/TcErrors.lhs

 compiler/basicTypes/DataCon.lhs       |    6 +-
 compiler/basicTypes/DataCon.lhs-boot  |    2 +
 compiler/basicTypes/IdInfo.lhs        |    2 +-
 compiler/basicTypes/MkId.lhs          |    9 +-
 compiler/deSugar/Check.lhs            |    2 +-
 compiler/deSugar/Coverage.lhs         |   78 +++---
 compiler/deSugar/DsArrows.lhs         |  120 +++++-----
 compiler/deSugar/DsExpr.lhs           |   16 +-
 compiler/deSugar/DsGRHSs.lhs          |   22 +-
 compiler/deSugar/DsListComp.lhs       |   40 ++--
 compiler/deSugar/DsMeta.hs            |   44 ++--
 compiler/deSugar/DsUtils.lhs          |   35 ---
 compiler/deSugar/Match.lhs            |    6 +-
 compiler/deSugar/Match.lhs-boot       |    4 +-
 compiler/deSugar/MatchLit.lhs         |    2 +-
 compiler/ghci/Linker.lhs              |   84 ++++---
 compiler/hsSyn/Convert.lhs            |   18 +-
 compiler/hsSyn/HsBinds.lhs            |    4 +-
 compiler/hsSyn/HsExpr.lhs             |  433 +++++++++++++++++++++------------
 compiler/hsSyn/HsExpr.lhs-boot        |   28 ++-
 compiler/hsSyn/HsUtils.lhs            |   76 +++---
 compiler/main/DriverPipeline.hs       |   25 ++-
 compiler/main/DynFlags.hs             |  299 +++++++++++------------
 compiler/main/HscMain.hs              |    6 +-
 compiler/main/HscTypes.lhs            |   12 +
 compiler/main/StaticFlagParser.hs     |    4 +-
 compiler/main/StaticFlags.hs          |    4 +
 compiler/parser/Parser.y.pp           |   58 +++---
 compiler/parser/RdrHsSyn.lhs          |   99 +++++++-
 compiler/rename/RnBinds.lhs           |   69 ++++--
 compiler/rename/RnEnv.lhs             |   40 ++--
 compiler/rename/RnExpr.lhs            |  406 ++++++++++++++++---------------
 compiler/rename/RnExpr.lhs-boot       |   16 +-
 compiler/rename/RnPat.lhs             |    4 +-
 compiler/rename/RnTypes.lhs           |   10 +-
 compiler/typecheck/FamInst.lhs        |    5 +-
 compiler/typecheck/Inst.lhs           |    5 +-
 compiler/typecheck/TcArrows.lhs       |   69 +++---
 compiler/typecheck/TcBinds.lhs        |    6 +-
 compiler/typecheck/TcCanonical.lhs    |   85 ++-----
 compiler/typecheck/TcErrors.lhs       |  101 +++++----
 compiler/typecheck/TcEvidence.lhs     |    9 +-
 compiler/typecheck/TcExpr.lhs         |    9 +-
 compiler/typecheck/TcGenDeriv.lhs     |   12 +-
 compiler/typecheck/TcHsSyn.lhs        |  227 +++++++++++-------
 compiler/typecheck/TcInstDcls.lhs     |   12 +-
 compiler/typecheck/TcInteract.lhs     |  146 +++++------
 compiler/typecheck/TcMType.lhs        |    8 +-
 compiler/typecheck/TcMatches.lhs      |  141 ++++++-----
 compiler/typecheck/TcMatches.lhs-boot |   11 +-
 compiler/typecheck/TcRnDriver.lhs     |   89 +++----
 compiler/typecheck/TcRnMonad.lhs      |   14 +-
 compiler/typecheck/TcRnTypes.lhs      |    5 +-
 compiler/typecheck/TcSMonad.lhs       |  242 ++++++++++++-------
 compiler/typecheck/TcSimplify.lhs     |    4 +-
 compiler/typecheck/TcSplice.lhs       |   18 +-
 compiler/typecheck/TcUnify.lhs        |   41 ++-
 compiler/types/Coercion.lhs           |   13 +-
 compiler/types/InstEnv.lhs            |    5 +
 compiler/types/TyCon.lhs              |   28 +-
 compiler/types/Type.lhs               |   16 +-
 compiler/types/TypeRep.lhs            |   15 +-
 compiler/utils/Util.lhs               |   12 +
 distrib/configure.ac.in               |    2 +-
 docs/users_guide/ffi-chap.xml         |    2 +-
 docs/users_guide/glasgow_exts.xml     |    2 +-
 driver/ghci/ghc.mk                    |    1 +
 ghc.mk                                |   82 ++++---
 ghc/ghc.mk                            |    3 +
 includes/ghc.mk                       |    5 +
 includes/mkDerivedConstants.c         |    8 +
 mk/config.mk.in                       |    8 +-
 mk/validate-settings.mk               |    7 +-
 mk/ways.mk                            |   39 ++--
 rts/ghc.mk                            |    6 +-
 rts/package.conf.in                   |    2 +-
 rules/build-dependencies.mk           |   13 +-
 rules/build-package.mk                |    7 +
 rules/build-prog.mk                   |   85 +++++--
 rules/shell-wrapper.mk                |   52 +++--
 utils/compare_sizes/ghc.mk            |    1 +
 utils/genapply/ghc.mk                 |    1 +
 utils/genprimopcode/ghc.mk            |    1 +
 utils/ghc-cabal/Main.hs               |  134 +++++++----
 utils/ghc-cabal/ghc.mk                |    1 +
 utils/ghc-pwd/ghc.mk                  |    2 +
 utils/ghctags/ghc.mk                  |    9 +-
 utils/hp2ps/ghc.mk                    |   15 +-
 utils/hpc/ghc.mk                      |    7 +-
 utils/mkUserGuidePart/ghc.mk          |   11 +-
 utils/runghc/ghc.mk                   |    1 +
 utils/unlit/ghc.mk                    |    1 +
 92 files changed, 2272 insertions(+), 1667 deletions(-)

diff --cc compiler/typecheck/TcInteract.lhs
index ac0639a,db7f362..4a8f1b4
--- a/compiler/typecheck/TcInteract.lhs
+++ b/compiler/typecheck/TcInteract.lhs
@@@ -221,13 -222,10 +223,12 @@@ React with (F Int ~ b) ==> IR Stop Tru
  
  \begin{code}
  thePipeline :: [(String,SimplifierStage)]
- thePipeline = [ ("lookup-in-inerts",        lookupInInertsStage)
-               , ("canonicalization",        canonicalizationStage)
+ thePipeline = [ ("canonicalization",        TcCanonical.canonicalize)
                , ("spontaneous solve",       spontaneousSolveStage)
                , ("interact with inerts",    interactWithInertsStage)
 -              , ("top-level reactions",     topReactionsStage) ]
 +              , ("top-level reactions",     topReactionsStage)
 +              , ("type-nat solver",         typeNatStage)
 +              ]
  \end{code}
  
  
diff --cc compiler/typecheck/TcSMonad.lhs
index f31f5e1,ba1a2cb..70e98a5
--- a/compiler/typecheck/TcSMonad.lhs
+++ b/compiler/typecheck/TcSMonad.lhs
@@@ -73,9 -74,8 +74,9 @@@ module TcSMonad 
      getRelevantCts, extractRelevantInerts,
      CCanMap(..), CtTypeMap, CtFamHeadMap, CtPredMap,
      PredMap, FamHeadMap,
-     partCtFamHeadMap, lookupFamHead,
+     partCtFamHeadMap, lookupFamHead, lookupSolvedDict,
      filterSolved,
 +    foldFamHeadMap,
  
      instDFunType,                              -- Instantiation
      newFlexiTcSTy, instFlexiTcS, instFlexiTcSHelperTcS,
diff --cc compiler/types/Coercion.lhs
index f3dd890,4599ddf..734a99d
--- a/compiler/types/Coercion.lhs
+++ b/compiler/types/Coercion.lhs
@@@ -435,9 -431,11 +436,13 @@@ ppr_co p (UnsafeCo ty1 ty2) = pprPrefix
  ppr_co p (SymCo co)         = pprPrefixApp p (ptext (sLit "Sym")) [pprParendCo co]
  ppr_co p (NthCo n co)       = pprPrefixApp p (ptext (sLit "Nth:") <> int n) [pprParendCo co]
  ppr_co p (LRCo sel co)      = pprPrefixApp p (ppr sel) [pprParendCo co]
 +ppr_co p (TypeNatCo co ts cs) = maybeParen p TopPrec $
 +                                ppr_type_nat_co co ts cs
  
+ trans_co_list :: Coercion -> [Coercion] -> [Coercion]
+ trans_co_list (TransCo co1 co2) cos = trans_co_list co1 (trans_co_list co2 cos)
+ trans_co_list co                cos = co : cos
+ 
  instance Outputable LeftOrRight where
    ppr CLeft    = ptext (sLit "Left")
    ppr CRight   = ptext (sLit "Right")
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.