summaryrefslogtreecommitdiff
path: root/ghc/compiler/hsSyn/HsLoop.lhi
blob: 34b192607301dc820eff661b4f12965a1895c331 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
\begin{code}

interface HsLoop where

import HsExpr	( HsExpr )
import HsBinds	( Bind, HsBinds, MonoBinds, Sig, nullBinds, nullMonoBinds )
import HsDecls	( ConDecl )
import Name	( NamedThing )
import Outputable ( Outputable )

-- HsExpr outputs
data HsExpr tyvar uvar id pat

instance (NamedThing id, Outputable id, Outputable pat,
	  Eq tyvar, Outputable tyvar, Eq uvar, Outputable uvar)
  => Outputable (HsExpr tyvar uvar id pat)


-- HsBinds outputs
data Sig id
instance (NamedThing name, Outputable name) => Outputable (Sig name)

data Bind tyvar uvar id pat

data HsBinds tyvar uvar id pat

instance (Outputable pat, NamedThing id, Outputable id,
	  Eq tyvar, Outputable tyvar, Eq uvar, Outputable uvar) =>
		Outputable (HsBinds tyvar uvar id pat)

data MonoBinds tyvar uvar id pat

instance (NamedThing id, Outputable id, Outputable pat,
	  Eq tyvar, Outputable tyvar, Eq uvar, Outputable uvar) =>
		Outputable (MonoBinds tyvar uvar id pat)

nullBinds     :: HsBinds tyvar uvar id pat -> Bool
nullMonoBinds :: MonoBinds tyvar uvar id pat -> Bool

-- HsDecls outputs
data ConDecl name
\end{code}