put coqPassCoreToCore on the CoreM monad, greatly simplify Desugar.lhs
[ghc-hetmet.git] / compiler / hsSyn / HsExpr.lhs-boot
index b56ef47..ccae210 100644 (file)
@@ -4,15 +4,29 @@ module HsExpr where
 import SrcLoc    ( Located )
 import Outputable ( SDoc, OutputableBndr )
 import {-# SOURCE #-} HsPat  ( LPat )
+
+import Data.Data
        
 data HsExpr i
 data HsSplice i
 data MatchGroup a
 data GRHSs a
 
+instance Typeable1 HsSplice
+instance Data i => Data (HsSplice i)
+instance Typeable1 HsExpr
+instance Data i => Data (HsExpr i)
+instance Typeable1 MatchGroup
+instance Data i => Data (MatchGroup i)
+instance Typeable1 GRHSs
+instance Data i => Data (GRHSs i)
+
 type LHsExpr a = Located (HsExpr a)
 type SyntaxExpr a = HsExpr a
 
+pprLExpr :: (OutputableBndr i) => 
+       LHsExpr i -> SDoc
+
 pprExpr :: (OutputableBndr i) => 
        HsExpr i -> SDoc
 
@@ -22,6 +36,6 @@ pprSplice :: (OutputableBndr i) =>
 pprPatBind :: (OutputableBndr b, OutputableBndr i) => 
        LPat b -> GRHSs i -> SDoc
 
-pprFunBind :: (OutputableBndr i) => 
-       i -> Bool -> MatchGroup i -> SDoc
+pprFunBind :: (OutputableBndr idL, OutputableBndr idR) => 
+       idL -> Bool -> MatchGroup idR -> SDoc
 \end{code}