X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Ftypecheck%2FInst.lhs;h=cee4b8955fac71db268e649abdce19897328727f;hb=2e5f521ad4b18128d55fdc1076237e9ee04e790b;hp=c1801d6d4dff862913af4b40c52e48a31b4440ae;hpb=d2ce0f52d42edf32bb9f13796e6ba6edba8bd516;p=ghc-hetmet.git diff --git a/compiler/typecheck/Inst.lhs b/compiler/typecheck/Inst.lhs index c1801d6..cee4b89 100644 --- a/compiler/typecheck/Inst.lhs +++ b/compiler/typecheck/Inst.lhs @@ -143,7 +143,7 @@ deeplySkolemise deeplySkolemise skol_info ty | Just (arg_tys, tvs, theta, ty') <- tcDeepSplitSigmaTy_maybe ty - = do { ids1 <- newSysLocalIds (fsLit "dsk") arg_tys + = do { ids1 <- newSysLocalIds (fsLit "dk") arg_tys ; tvs1 <- mapM (tcInstSkolTyVar skol_info) tvs ; let subst = zipTopTvSubst tvs (mkTyVarTys tvs1) ; ev_vars1 <- newEvVars (substTheta subst theta) @@ -170,14 +170,14 @@ deeplyInstantiate :: CtOrigin -> TcSigmaType -> TcM (HsWrapper, TcRhoType) deeplyInstantiate orig ty | Just (arg_tys, tvs, theta, rho) <- tcDeepSplitSigmaTy_maybe ty = do { (_, tys, subst) <- tcInstTyVars tvs - ; ids1 <- newSysLocalIds (fsLit "dsk") (substTys subst arg_tys) + ; ids1 <- newSysLocalIds (fsLit "di") (substTys subst arg_tys) ; wrap1 <- instCall orig tys (substTheta subst theta) - ; (wrap2, rho) <- deeplyInstantiate orig (substTy subst rho) + ; (wrap2, rho2) <- deeplyInstantiate orig (substTy subst rho) ; return (mkWpLams ids1 + <.> wrap2 <.> wrap1 - <.> mkWpEvVarApps ids1 - <.> wrap2, - mkFunTys arg_tys rho) } + <.> mkWpEvVarApps ids1, + mkFunTys arg_tys rho2) } | otherwise = return (idHsWrapper, ty) \end{code}