blob: 9e47da5c0f7a0c2fdc396f8d5dda0cbeb14fd7cd (
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
43
44
45
46
47
48
49
50
51
52
53
54
|
TYPE SIGNATURES
TYPE CONSTRUCTORS
class C1 a where
meth1 :: a -> a
{-# MINIMAL meth1 #-}
class C2 a b where
meth2 :: a ~ b => a -> b
{-# MINIMAL meth2 #-}
class C3 a b where
type family F3 b :: * open
meth3 :: a -> F3 b -> F3 b
{-# MINIMAL meth3 #-}
class C4 a b where
meth4 :: a -> F4 b -> F4 b
{-# MINIMAL meth4 #-}
type family F4 a :: * open
type Syn1 a = F4 a
type Syn2 a = [a]
COERCION AXIOMS
axiom Roles3.NTCo:C1 :: C1 a = a -> a
axiom Roles3.NTCo:C2 :: C2 a b = (a ~ b) => a -> b
axiom Roles3.NTCo:C3 :: C3 a b = a -> F3 b -> F3 b
axiom Roles3.NTCo:C4 :: C4 a b = a -> F4 b -> F4 b
Dependent modules: []
Dependent packages: [base-4.9.0.0, ghc-prim-0.4.0.0,
integer-gmp-1.0.0.0]
==================== Typechecker ====================
Roles3.$tcC4
= TyCon
12861862461396457184##
6389612623460961504##
Roles3.$trModule
(TrNameS "C4"#)
Roles3.$tcC3
= TyCon
5998139369941479154##
6816352641934636458##
Roles3.$trModule
(TrNameS "C3"#)
Roles3.$tcC2
= TyCon
8833962732139387711##
7891126688522429937##
Roles3.$trModule
(TrNameS "C2"#)
Roles3.$tcC1
= TyCon
16242970448469140073##
10229725431456576413##
Roles3.$trModule
(TrNameS "C1"#)
Roles3.$trModule = Module (TrNameS "main"#) (TrNameS "Roles3"#)
|