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 <iavor.diatc...@gmail.com>
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")



_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to