The final batch of changes for the new coercion representation
[ghc-hetmet.git] / compiler / typecheck / TcEnv.lhs
index c51f786..a087059 100644 (file)
@@ -203,6 +203,7 @@ tcLookupFamInst tycon tys
   = do { env <- getGblEnv
        ; eps <- getEps
        ; let instEnv = (eps_fam_inst_env eps, tcg_fam_inst_env env)
+       ; traceTc "lookupFamInst" ((ppr tycon <+> ppr tys) $$ ppr instEnv)
        ; case lookupFamInstEnv instEnv tycon tys of
           []                      -> return Nothing
           ((fam_inst, rep_tys):_) 
@@ -625,7 +626,7 @@ data InstBindings a
                        -- witness dictionary is identical to the argument 
                        -- dictionary.  Hence no bindings, no pragmas.
 
-       CoercionI       -- The coercion maps from newtype to the representation type
+       Coercion        -- The coercion maps from newtype to the representation type
                        -- (mentioning type variables bound by the forall'd iSpec variables)
                        -- E.g.   newtype instance N [a] = N1 (Tree a)
                        --        co : N [a] ~ Tree a
@@ -639,7 +640,7 @@ data InstBindings a
 pprInstInfo :: InstInfo a -> SDoc
 pprInstInfo info = hang (ptext (sLit "instance"))
                       2 (sep [ ifPprDebug (pprForAll tvs)
-                             , pprThetaArrow theta, ppr tau
+                             , pprThetaArrowTy theta, ppr tau
                              , ptext (sLit "where")])
   where
     (tvs, theta, tau) = tcSplitSigmaTy (idType (iDFunId info))