Merge branch 'master' of http://darcs.haskell.org/ghc
[ghc-hetmet.git] / compiler / hsSyn / HsExpr.lhs-boot
1 \begin{code}
2 module HsExpr where
3
4 import SrcLoc     ( Located )
5 import Outputable ( SDoc, OutputableBndr )
6 import {-# SOURCE #-} HsPat  ( LPat )
7
8 import Data.Data
9         
10 data HsExpr i
11 data HsSplice i
12 data MatchGroup a
13 data GRHSs a
14
15 instance Typeable1 HsSplice
16 instance Data i => Data (HsSplice i)
17 instance Typeable1 HsExpr
18 instance Data i => Data (HsExpr i)
19 instance Typeable1 MatchGroup
20 instance Data i => Data (MatchGroup i)
21 instance Typeable1 GRHSs
22 instance Data i => Data (GRHSs i)
23
24 type LHsExpr a = Located (HsExpr a)
25 type SyntaxExpr a = HsExpr a
26
27 pprLExpr :: (OutputableBndr i) => 
28         LHsExpr i -> SDoc
29
30 pprExpr :: (OutputableBndr i) => 
31         HsExpr i -> SDoc
32
33 pprSplice :: (OutputableBndr i) => 
34         HsSplice i -> SDoc
35
36 pprPatBind :: (OutputableBndr b, OutputableBndr i) => 
37         LPat b -> GRHSs i -> SDoc
38
39 pprFunBind :: (OutputableBndr idL, OutputableBndr idR) => 
40         idL -> Bool -> MatchGroup idR -> SDoc
41 \end{code}