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