blob: cb227dbcab711af63e7929ac1dbd794abd7b3588 (
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
------------ desugared source code
infix 4 ==
infix 4 /=
infix 4 <
infixr 3 &&
infixr 2 ||
not = \(a :: _) -> 'BoolCase \_ -> _ :: _ (_rhs True) (_rhs False) a
&& = \(a :: _) (b :: _) -> 'BoolCase \_ -> _ :: _ (_rhs False) (_rhs b) a
|| = \(a :: _) (b :: _) -> 'BoolCase \_ -> _ :: _ (_rhs b) (_rhs True) a
'Eq
= (\(a :: _) -> match'Bool
\_ -> _
(_rhs 'Unit)
a
(_rhs ('Empty "no instance of 'Eq on ???")))
:: Type -> Type
==
= (\ @a -> \ @_ -> match'Bool
\_ -> _
(_rhs
\(b
:= \(c :: _) (d :: _) -> 'BoolCase \_ -> _ :: _ (_rhs (not d)) (_rhs d) c) -> b)
a
(_rhs undefined))
:: forall e . Eq e => e -> e -> Bool
/= = \(a :: _) (b :: _) -> _rhs (not (a == b))
main is not found
------------ trace
not :: Bool -> Bool
&& :: Bool -> Bool -> Bool
|| :: Bool -> Bool -> Bool
'Eq :: Type -> Type
== :: forall a . Eq a => a -> a -> Bool
/= :: forall a . Eq a => a -> a -> Bool
------------ tooltips
testdata/typeclass.lc 8:1-8:4
Bool -> Bool
testdata/typeclass.lc 8:12-8:17
Bool
testdata/typeclass.lc 8:12-9:17
Bool -> Bool
testdata/typeclass.lc 9:13-9:17
Bool
testdata/typeclass.lc 11:6-11:8
Bool -> Bool -> Bool
testdata/typeclass.lc 11:13-11:14
_b
testdata/typeclass.lc 11:13-12:19
Bool -> Bool
testdata/typeclass.lc 12:14-12:19
Bool
testdata/typeclass.lc 14:7-14:9
Bool -> Bool -> Bool
testdata/typeclass.lc 14:14-14:15
_c
testdata/typeclass.lc 14:14-15:17
Bool -> Bool
testdata/typeclass.lc 15:13-15:17
Bool
testdata/typeclass.lc 17:7-17:9
Type -> Type | Type -> Type
testdata/typeclass.lc 17:7-18:27
Type
testdata/typeclass.lc 18:6-18:8
forall a . Eq a => a -> a -> Bool
testdata/typeclass.lc 18:13-18:14
Type
testdata/typeclass.lc 18:13-18:27
Type
testdata/typeclass.lc 18:18-18:19
Type
testdata/typeclass.lc 18:18-18:27
Type
testdata/typeclass.lc 18:23-18:27
Type | Type
testdata/typeclass.lc 20:3-20:5
forall a . Eq a => a -> a -> Bool
testdata/typeclass.lc 20:10-20:13
Bool -> Bool
testdata/typeclass.lc 20:10-20:22
Bool
testdata/typeclass.lc 20:15-20:16
_f
testdata/typeclass.lc 20:15-20:19
_e -> Bool
testdata/typeclass.lc 20:15-20:21
Bool
testdata/typeclass.lc 20:17-20:19
forall a . Eq a => a -> a -> Bool
testdata/typeclass.lc 20:20-20:21
_c
testdata/typeclass.lc 23:17-23:18
Bool
testdata/typeclass.lc 23:17-24:23
Bool -> Bool
testdata/typeclass.lc 24:18-24:21
Bool -> Bool
testdata/typeclass.lc 24:18-24:23
Bool
testdata/typeclass.lc 24:22-24:23
_b
|