blob: 5369daa5cd2c8b34a324c4ebf5042670e297c5aa (
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
T8958.hs:1:31: warning:
-XDatatypeContexts is deprecated: It was widely considered a misfeature, and has been removed from the Haskell language.
TYPE SIGNATURES
T8958.MkMap :: forall k v. [(k, v)] -> Map k v
TYPE CONSTRUCTORS
type role Map nominal representational
newtype (Nominal k, Representational v) => Map k v = MkMap [(k, v)]
class Nominal a
type role Representational representational
class Representational a
COERCION AXIOMS
axiom T8958.N:Map :: Map k v = [(k, v)] -- Defined at T8958.hs:13:1
INSTANCES
instance [incoherent] Representational a
-- Defined at T8958.hs:10:10
instance [incoherent] Nominal a -- Defined at T8958.hs:7:10
Dependent modules: []
Dependent packages: [base-4.9.0.0, ghc-prim-0.5.0.0,
integer-gmp-1.0.0.1]
==================== Typechecker ====================
T8958.$tcMap
= GHC.Types.TyCon
11173210732975605893##
6338753504925142034##
T8958.$trModule
(GHC.Types.TrNameS "Map"#)
T8958.$tc'MkMap
= GHC.Types.TyCon
10702411725744601909##
8660532495248702786##
T8958.$trModule
(GHC.Types.TrNameS "'MkMap"#)
T8958.$tcRepresentational
= GHC.Types.TyCon
17939208465687456137##
86959701938445380##
T8958.$trModule
(GHC.Types.TrNameS "Representational"#)
T8958.$tc'C:Representational
= GHC.Types.TyCon
6623579006299218188##
18041743345929230411##
T8958.$trModule
(GHC.Types.TrNameS "'C:Representational"#)
T8958.$tcNominal
= GHC.Types.TyCon
5048799062136959048##
4899664595355811926##
T8958.$trModule
(GHC.Types.TrNameS "Nominal"#)
T8958.$tc'C:Nominal
= GHC.Types.TyCon
13167926310643805202##
1726092271306256063##
T8958.$trModule
(GHC.Types.TrNameS "'C:Nominal"#)
T8958.$trModule
= GHC.Types.Module
(GHC.Types.TrNameS "main"#) (GHC.Types.TrNameS "T8958"#)
AbsBinds [a] []
{Exports: [T8958.$fRepresentationala <= $dRepresentational
wrap: <>]
Exported types: T8958.$fRepresentationala [InlPrag=[ALWAYS] CONLIKE]
:: forall a. Representational a
[LclIdX[DFunId],
Unf=DFun: \ (@ a) -> T8958.C:Representational TYPE: a]
Binds: $dRepresentational = T8958.C:Representational @ a
Evidence: [EvBinds{}]}
AbsBinds [a] []
{Exports: [T8958.$fNominala <= $dNominal
wrap: <>]
Exported types: T8958.$fNominala [InlPrag=[ALWAYS] CONLIKE]
:: forall a. Nominal a
[LclIdX[DFunId], Unf=DFun: \ (@ a) -> T8958.C:Nominal TYPE: a]
Binds: $dNominal = T8958.C:Nominal @ a
Evidence: [EvBinds{}]}
|