(F)SLIT -> (f)sLit in FunDeps
[ghc-hetmet.git] / compiler / types / FunDeps.lhs
index a2bb3df..949cac4 100644 (file)
@@ -8,13 +8,6 @@ FunDeps - functional dependencies
 It's better to read it as: "if we know these, then we're going to know these"
 
 \begin{code}
-{-# OPTIONS -w #-}
--- The above warning supression flag is a temporary kludge.
--- While working on this module you are encouraged to remove it and fix
--- any warnings in the module. See
---     http://hackage.haskell.org/trac/ghc/wiki/CodingStyle#Warnings
--- for details
-
 module FunDeps (
        Equation, pprEquation,
        oclose, grow, improveOne,
@@ -27,13 +20,15 @@ module FunDeps (
 import Name
 import Var
 import Class
-import TcGadt
 import TcType
+import Unify
 import InstEnv
 import VarSet
 import VarEnv
 import Outputable
 import Util
+import FastString
+
 import Data.Maybe      ( isJust )
 \end{code}
 
@@ -153,7 +148,7 @@ See also Note [Ambiguity] in TcSimplify
 \begin{code}
 grow :: [PredType] -> TyVarSet -> TyVarSet
 grow preds fixed_tvs 
-  | null preds = real_fixed_tvs
+  | null preds = fixed_tvs
   | otherwise  = loop real_fixed_tvs
   where
        -- Add the implicit parameters; 
@@ -204,9 +199,10 @@ type Equation = (TyVarSet, [(Type, Type)])
 -- We usually act on an equation by instantiating the quantified type varaibles
 -- to fresh type variables, and then calling the standard unifier.
 
+pprEquation :: Equation -> SDoc
 pprEquation (qtvs, pairs) 
-  = vcat [ptext SLIT("forall") <+> braces (pprWithCommas ppr (varSetElems qtvs)),
-         nest 2 (vcat [ ppr t1 <+> ptext SLIT(":=:") <+> ppr t2 | (t1,t2) <- pairs])]
+  = vcat [ptext (sLit "forall") <+> braces (pprWithCommas ppr (varSetElems qtvs)),
+         nest 2 (vcat [ ppr t1 <+> ptext (sLit ":=:") <+> ppr t2 | (t1,t2) <- pairs])]
 \end{code}
 
 Given a bunch of predicates that must hold, such as
@@ -250,7 +246,7 @@ improveOne :: (Class -> [Instance])         -- Gives instances for given class
                                                -- combined (for error messages)
 -- Just do improvement triggered by a single, distinguised predicate
 
-improveOne inst_env pred@(IParam ip ty, _) preds
+improveOne _inst_env pred@(IParam ip ty, _) preds
   = [ ((emptyVarSet, [(ty,ty2)]), pred, p2) 
     | p2@(IParam ip2 ty2, _) <- preds
     , ip==ip2
@@ -297,11 +293,11 @@ improveOne inst_env pred@(ClassP cls tys, _) preds
        , not (instanceCantMatch inst_tcs trimmed_tcs)
        , eqn <- checkClsFD qtvs fd cls_tvs tys_inst tys
        , let p_inst = (mkClassPred cls tys_inst, 
-                       ptext SLIT("arising from the instance declaration at")
+                       ptext (sLit "arising from the instance declaration at")
                        <+> ppr (getSrcLoc ispec))
        ]
 
-improveOne inst_env eq_pred preds
+improveOne _ _ _
   = []