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}
|