X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Ftypecheck%2FTcTyFuns.lhs;h=2237e3f19f446c66a8d3dc4b682642b7e71146f8;hb=8ef97aa30a33fb3b536252b2c0459cdf0fd5236f;hp=77d72058c5cfb78142516231ff77a019f468bd13;hpb=cfda0421ca2c7c5f762814fd25988cf89871f1d8;p=ghc-hetmet.git diff --git a/compiler/typecheck/TcTyFuns.lhs b/compiler/typecheck/TcTyFuns.lhs index 77d7205..2237e3f 100644 --- a/compiler/typecheck/TcTyFuns.lhs +++ b/compiler/typecheck/TcTyFuns.lhs @@ -231,9 +231,6 @@ tcReduceEqs locals wanteds We maintain normalised equalities together with the skolems introduced as intermediates during flattening of equalities as well as -!!!TODO: We probably now can do without the skolem set. It's not used during -finalisation in the current code. - \begin{code} -- |Configuration of normalised equalities used during solving. -- @@ -384,9 +381,6 @@ families. Moreover, in Forms (2) & (3), the left-hand side may not occur in the right-hand side, and the relation x > y is an arbitrary, but total order on type variables -!!!TODO: We may need to keep track of swapping for error messages (and to -re-orient on finilisation). - \begin{code} data RewriteInst = RewriteVar -- Form (2) above @@ -960,9 +954,6 @@ applySubstFam eq1@(RewriteFam {rwi_fam = fam1, rwi_args = args1}) -- rule matches => rewrite | fam1 == fam2 && tcEqTypes args1 args2 && (isWantedRewriteInst eq2 || not (isWantedRewriteInst eq1)) --- !!!TODO: tcEqTypes is insufficient as it does not look through type synonyms --- !!!Check whether anything breaks by making tcEqTypes look through synonyms. --- !!!Should be ok and we don't want three type equalities. = do { co2' <- mkRightTransEqInstCo co2 co1 (lhs, rhs) ; eq2' <- deriveEqInst eq2 lhs rhs co2' ; liftM Just $ normEqInst eq2' @@ -1240,7 +1231,7 @@ instantiateAndExtract eqs localsEmpty skolems | Just tv2 <- tcGetTyVar_maybe ty2 , isMetaTyVar tv2 , mayInst tv2 && (checkingMode || tv2 `elemVarSet` skolems) - -- !!!TODO: this is too liberal, even if tv2 is in + -- !!!FIXME: this is too liberal, even if tv2 is in -- skolems we shouldn't instantiate if tvs occurs -- in other equalities that may propagate it into the -- environment