X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Ftypecheck%2FTcRules.lhs;h=a95251d1b40627c24aa6660f3068ecadae519ac6;hb=0f5e104c36b1dc3d8deeec5fef3d65e7b3a1b5ad;hp=a0774fed622f3d8748912ee3dad540a4ffa955dd;hpb=fb2771f8d4228535353f7161c63d5ad0055e9df7;p=ghc-hetmet.git diff --git a/compiler/typecheck/TcRules.lhs b/compiler/typecheck/TcRules.lhs index a0774fe..a95251d 100644 --- a/compiler/typecheck/TcRules.lhs +++ b/compiler/typecheck/TcRules.lhs @@ -6,17 +6,8 @@ TcRules: Typechecking transformation rules \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/Commentary/CodingStyle#Warnings --- for details - module TcRules ( tcRules ) where -#include "HsVersions.h" - import HsSyn import TcRnMonad import TcSimplify @@ -30,6 +21,7 @@ import Id import Name import SrcLoc import Outputable +import FastString \end{code} \begin{code} @@ -39,7 +31,7 @@ tcRules decls = mapM (wrapLocM tcRule) decls tcRule :: RuleDecl Name -> TcM (RuleDecl TcId) tcRule (HsRule name act vars lhs fv_lhs rhs fv_rhs) = addErrCtxt (ruleCtxt name) $ do - traceTc (ptext SLIT("---- Rule ------") <+> ppr name) + traceTc (ptext (sLit "---- Rule ------") <+> ppr name) rule_ty <- newFlexiTyVarTy openTypeKind -- Deal with the tyvars mentioned in signatures @@ -94,7 +86,7 @@ tcRule (HsRule name act vars lhs fv_lhs rhs fv_rhs) (mkHsDictLet lhs_binds lhs') fv_lhs (mkHsDictLet rhs_binds rhs') fv_rhs) - +tcRuleBndrs :: [RuleBndr Name] -> ([Id] -> TcM a) -> TcM a tcRuleBndrs [] thing_inside = thing_inside [] tcRuleBndrs (RuleBndr var : vars) thing_inside = do { ty <- newFlexiTyVarTy openTypeKind @@ -114,7 +106,8 @@ tcRuleBndrs (RuleBndrSig var rn_ty : vars) thing_inside tcExtendIdEnv [id] $ tcRuleBndrs vars (\ids -> thing_inside (id:ids)) } -ruleCtxt name = ptext SLIT("When checking the transformation rule") <+> +ruleCtxt :: FastString -> SDoc +ruleCtxt name = ptext (sLit "When checking the transformation rule") <+> doubleQuotes (ftext name) \end{code}