Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : overlapping-tyfams
http://hackage.haskell.org/trac/ghc/changeset/81a2dd3b1e3c703acaea64993b7c3f72400f5063 >--------------------------------------------------------------- commit 81a2dd3b1e3c703acaea64993b7c3f72400f5063 Merge: 77e5aa7... 9b2882c... Author: Richard Eisenberg <e...@cis.upenn.edu> Date: Thu Dec 6 20:32:34 2012 -0500 Merge branch 'master' into overlapping-tyfams aclocal.m4 | 2 +- compiler/ghc.cabal.in | 10 +-- compiler/ghc.mk | 20 +++- compiler/ghci/keepCAFsForGHCi.c | 5 +- compiler/iface/IfaceType.lhs | 71 ++++++------- compiler/iface/LoadIface.lhs | 116 ++++++++++++--------- compiler/iface/MkIface.lhs | 2 +- compiler/main/CodeOutput.lhs | 5 +- compiler/main/DriverPipeline.hs | 128 ++++++++++++----------- compiler/main/DynFlags.hs | 29 +++++- compiler/main/TidyPgm.lhs | 207 +++++++++++++++++++----------------- compiler/nativeGen/AsmCodeGen.lhs | 16 ++-- 12 files changed, 329 insertions(+), 282 deletions(-) diff --cc compiler/iface/IfaceType.lhs index 2bb6122,fd12af1..103d336 --- a/compiler/iface/IfaceType.lhs +++ b/compiler/iface/IfaceType.lhs @@@ -356,23 -348,22 +349,23 @@@ toIfaceContext = toIfaceType ---------------- coToIfaceType :: Coercion -> IfaceType coToIfaceType (Refl ty) = IfaceCoConApp IfaceReflCo [toIfaceType ty] - coToIfaceType (TyConAppCo tc cos) + coToIfaceType (TyConAppCo tc cos) | tc `hasKey` funTyConKey , [arg,res] <- cos = IfaceFunTy (coToIfaceType arg) (coToIfaceType res) - | otherwise = IfaceTyConApp (toIfaceTyCon tc) + | otherwise = IfaceTyConApp (toIfaceTyCon tc) (map coToIfaceType cos) - coToIfaceType (AppCo co1 co2) = IfaceAppTy (coToIfaceType co1) + coToIfaceType (AppCo co1 co2) = IfaceAppTy (coToIfaceType co1) (coToIfaceType co2) - coToIfaceType (ForAllCo v co) = IfaceForAllTy (toIfaceTvBndr v) + coToIfaceType (ForAllCo v co) = IfaceForAllTy (toIfaceTvBndr v) (coToIfaceType co) coToIfaceType (CoVarCo cv) = IfaceTyVar (toIfaceCoVar cv) -coToIfaceType (AxiomInstCo con cos) = IfaceCoConApp (coAxiomToIfaceType con) +coToIfaceType (AxiomInstCo con ind cos) + = IfaceCoConApp (coAxiomToIfaceType con ind) (map coToIfaceType cos) - coToIfaceType (UnsafeCo ty1 ty2) = IfaceCoConApp IfaceUnsafeCo + coToIfaceType (UnsafeCo ty1 ty2) = IfaceCoConApp IfaceUnsafeCo [ toIfaceType ty1 , toIfaceType ty2 ] - coToIfaceType (SymCo co) = IfaceCoConApp IfaceSymCo + coToIfaceType (SymCo co) = IfaceCoConApp IfaceSymCo [ coToIfaceType co ] coToIfaceType (TransCo co1 co2) = IfaceCoConApp IfaceTransCo [ coToIfaceType co1 diff --cc compiler/main/TidyPgm.lhs index 7b1b6f3,0ea01d5..39ccd62 --- a/compiler/main/TidyPgm.lhs +++ b/compiler/main/TidyPgm.lhs @@@ -153,9 -153,9 +153,9 @@@ mkBootModDetailsTc hsc_en } where -mkBootTypeEnv :: NameSet -> [Id] -> [TyCon] -> [FamInst] -> TypeEnv +mkBootTypeEnv :: NameSet -> [Id] -> [TyCon] -> [FamInst Branched] -> TypeEnv mkBootTypeEnv exports ids tcs fam_insts - = tidyTypeEnv True False exports $ + = tidyTypeEnv True $ typeEnvFromEntities final_ids tcs fam_insts where -- Find the LocalIds in the type env that are exported _______________________________________________ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc