X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Ftypecheck%2FTcHsSyn.lhs;h=380490383151af3e72d1b64d7ed7fc1ac21cbd45;hb=79011516105291b58324ce71a87f6bb26a131090;hp=df6c50a6b2d1330e71d060801d44cd9625d9abc8;hpb=43a2e4a26175b9dbf29e39b97f7d032ef00f9993;p=ghc-hetmet.git diff --git a/compiler/typecheck/TcHsSyn.lhs b/compiler/typecheck/TcHsSyn.lhs index df6c50a..3804903 100644 --- a/compiler/typecheck/TcHsSyn.lhs +++ b/compiler/typecheck/TcHsSyn.lhs @@ -57,6 +57,22 @@ import SrcLoc import Util import Bag import Outputable +import FastString +\end{code} + +\begin{code} +-- XXX +thenM :: Monad a => a b -> (b -> a c) -> a c +thenM = (>>=) + +thenM_ :: Monad a => a b -> a c -> a c +thenM_ = (>>) + +returnM :: Monad m => a -> m a +returnM = return + +mappM :: (Monad m) => (a -> m b) -> [a] -> m [b] +mappM = mapM \end{code} @@ -547,8 +563,8 @@ zonkCoFn env WpInline = return (env, WpInline) zonkCoFn env (WpCompose c1 c2) = do { (env1, c1') <- zonkCoFn env c1 ; (env2, c2') <- zonkCoFn env1 c2 ; return (env2, WpCompose c1' c2') } -zonkCoFn env (WpCo co) = do { co' <- zonkTcTypeToType env co - ; return (env, WpCo co') } +zonkCoFn env (WpCast co) = do { co' <- zonkTcTypeToType env co + ; return (env, WpCast co') } zonkCoFn env (WpLam id) = do { id' <- zonkDictBndr env id ; let env1 = extendZonkEnv1 env id' ; return (env1, WpLam id') } @@ -1007,10 +1023,10 @@ mkArbitraryType warn tv (args,res) = splitKindFunTys kind tup_tc = tupleTyCon Boxed (length args) - msg = vcat [ hang (ptext SLIT("Inventing strangely-kinded Any TyCon")) - 2 (ptext SLIT("of kind") <+> quotes (ppr kind)) - , nest 2 (ptext SLIT("from an instantiation of type variable") <+> quotes (ppr tv)) - , ptext SLIT("This warning can be suppressed by a type signature fixing") <+> quotes (ppr tv) - , nest 2 (ptext SLIT("but is harmless without -O (and usually harmless anyway).")) - , ptext SLIT("See http://hackage.haskell.org/trac/ghc/ticket/959 for details") ] + msg = vcat [ hang (ptext (sLit "Inventing strangely-kinded Any TyCon")) + 2 (ptext (sLit "of kind") <+> quotes (ppr kind)) + , nest 2 (ptext (sLit "from an instantiation of type variable") <+> quotes (ppr tv)) + , ptext (sLit "This warning can be suppressed by a type signature fixing") <+> quotes (ppr tv) + , nest 2 (ptext (sLit "but is harmless without -O (and usually harmless anyway).")) + , ptext (sLit "See http://hackage.haskell.org/trac/ghc/ticket/959 for details") ] \end{code}