\begin{code} 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 pprSplice :: (OutputableBndr i) => HsSplice i -> SDoc pprPatBind :: (OutputableBndr b, OutputableBndr i) => LPat b -> GRHSs i -> SDoc pprFunBind :: (OutputableBndr idL, OutputableBndr idR) => idL -> Bool -> MatchGroup idR -> SDoc \end{code}