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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
|
module Prelude.Collection (
Collectiontype-class `Prelude.Collection.Collection`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.BasicClasses.Monoid 'c(..)class-constant `fromList`
class-constant `insert`
class-constant `isEmptyP`
class-constant `memberP`
class-constant `singleton`
,
emptyconstant `Prelude.Collection.empty`
constant
type `Collection 'c 'e => 'c`
executable,
unionconstant `Prelude.Collection.union`
constant
type `Collection 'c 'e => 'c -> 'c -> 'c`
executable,
imageconstant `Prelude.Collection.image`
constant
type `(!Functor 'C, Collection ('C 'e1) 'e1, Collection ('C 'e2) 'e2) => ('e1 -> 'e2) -> 'C 'e1 -> 'C 'e2`
executable,
setEmptyconstant `Prelude.Collection.setEmpty`
constant
type `SetLike 'c 'e => 'c`
executable,
setInsertconstant `Prelude.Collection.setInsert`
constant
type `SetLike 'c 'e => 'e -> 'c -> 'c`
executable,
setFromListconstant `Prelude.Collection.setFromList`
constant
type `SetLike 'c 'e => ['e] -> 'c`
executable,
CollectionWithEmptynessTesttype-class `Prelude.Collection.CollectionWithEmptynessTest`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.Collection 'c 'e(..)class-constant `isEmpty`
,
CollectionWithMembershipTesttype-class `Prelude.Collection.CollectionWithMembershipTest`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.Collection 'c 'e(..)class-constant `member`
class-constant `occur`
,
CollectionWithDeletetype-class `Prelude.Collection.CollectionWithDelete`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Eq.Eq 'e
- Prelude.Collection.CollectionWithMembershipTest 'c 'e(..)class-constant `delete`
class-constant `difference`
class-constant `filter`
class-constant `intersection`
class-constant `partition`
,
FiniteCollectiontype-class `Prelude.Collection.FiniteCollection`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.CollectionWithMembershipTest 'c 'e
- Prelude.Foldable.Foldable 'c 'e
- Prelude.Collection.CollectionWithEmptynessTest 'c 'e(..),
CollectionWithSubsetTesttype-class `Prelude.Collection.CollectionWithSubsetTest`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.CollectionWithDelete 'c 'e
- Prelude.Collection.CollectionWithEmptynessTest 'c 'e(..)class-constant `disjoint`
class-constant `isProperSubsetOf`
class-constant `isSetEquiv`
class-constant `isSubsetOf`
,
SetLiketype-class `Prelude.Collection.SetLike`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.CollectionWithMembershipTest 'c 'e(..),
BagLiketype-class `Prelude.Collection.BagLike`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.CollectionWithMembershipTest 'c 'e(..),
Settype-class `Prelude.Collection.Set`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.SetLike 'c 'e
- Prelude.Collection.CollectionWithDelete 'c 'e
- Prelude.Collection.CollectionWithEmptynessTest 'c 'e(..),
FiniteSettype-class `Prelude.Collection.FiniteSet`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.Set 'c 'e
- Prelude.Collection.FiniteCollection 'c 'e(..),
Bagtype-class `Prelude.Collection.Bag`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.BagLike 'c 'e
- Prelude.Collection.CollectionWithDelete 'c 'e
- Prelude.Collection.CollectionWithEmptynessTest 'c 'e(..),
FiniteBagtype-class `Prelude.Collection.FiniteBag`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.Bag 'c 'e
- Prelude.Collection.FiniteCollection 'c 'e(..)
) where
{-# NoImplicitPrelude #-}
import Prelude.Bool
import Prelude.BasicClasses
import Prelude.Eq
import Prelude.Ord
import Prelude.Function
import Prelude.Tuple
import Prelude.Functor
import Prelude.Foldable
import Prelude.Num
import qualified Prelude.List as List
class Monoidtype-class `Prelude.BasicClasses.Monoid`
arguments: ('a :: *)
super-class constraints:
- Prelude.BasicClasses.Semigroup 'a 'ctype-variable `'c`
kind `*` => Collection 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*` | 'c -> 'e where
declare insertconstant `Prelude.Collection.insert`
constant of type-class `Collection`
type `'e -> 'c -> 'c`
executable :: 'etype-variable `'e`
kind `*` -> 'ctype-variable `'c`
kind `*` -> 'ctype-variable `'c`
kind `*`
define insertconstant `Prelude.Collection.insert`
default instance of type-class constant
type `('e -> 'c) -> 'e -> 'c -> 'c`
executable evariable `e`
type `'e` cvariable `c`
type `'c` := (singletonconstant `Prelude.Collection.singleton`
constant of type-class `Collection`
type `'e -> 'c`
executable
same type-class instance evariable `e`
type `'e`) <>constant `Prelude.BasicClasses.(<>)`
constant of type-class `Semigroup`
type `'a -> 'a -> 'a`
type in context `'c -> 'c -> 'c`
executable
type-class instance from context cvariable `c`
type `'c`
declare fromListconstant `Prelude.Collection.fromList`
constant of type-class `Collection`
type `['e] -> 'c`
executable :: ['etype-variable `'e`
kind `*`] -> 'ctype-variable `'c`
kind `*`
define fromListconstant `Prelude.Collection.fromList`
default instance of type-class constant
type `('e -> 'c -> 'c) -> ['e] -> 'c`
executable := foldlconstant `Prelude.Foldable.foldl`
statically resolved constant of type-class `Foldable`
type `('acc -> 'e -> 'acc) -> 'acc -> 't -> 'acc`
type in context `('c -> 'e -> 'c) -> 'c -> ['e] -> 'c`
executable
statically resolved type-class instance (fntype `'c -> 'e -> 'c` cvariable `c`
type `'c` evariable `e`
type `'e` -> insertconstant `Prelude.Collection.insert`
constant of type-class `Collection`
type `'e -> 'c -> 'c`
executable
same type-class instance evariable `e`
type `'e` cvariable `c`
type `'c`) memptyconstant `Prelude.BasicClasses.mempty`
constant of type-class `Monoid`
type `'a`
type in context `'c`
executable
type-class instance from context
declare singletonconstant `Prelude.Collection.singleton`
constant of type-class `Collection`
type `'e -> 'c`
executable :: 'etype-variable `'e`
kind `*` -> 'ctype-variable `'c`
kind `*`
define singletonconstant `Prelude.Collection.singleton`
default instance of type-class constant
type `('e -> 'c -> 'c) -> 'e -> 'c`
executable evariable `e`
type `'e` := insertconstant `Prelude.Collection.insert`
constant of type-class `Collection`
type `'e -> 'c -> 'c`
executable
same type-class instance evariable `e`
type `'e` memptyconstant `Prelude.BasicClasses.mempty`
constant of type-class `Monoid`
type `'a`
type in context `'c`
executable
type-class instance from context
declare non-exec memberPconstant `Prelude.Collection.memberP`
constant of type-class `Collection`
type `EqP 'e => 'e -> 'c -> Prop`
non-executable :: EqPtype-class `Prelude.Eq.EqP`
arguments: ('a :: *)
has default derive templates
derive-template labels
- eq (only deriving)
- full 'etype-variable `'e`
kind `*` => 'etype-variable `'e`
kind `*` -> 'ctype-variable `'c`
kind `*` -> Proptype `Prelude.Bool.Prop`
kind `*`
non-executable
declare non-exec isEmptyPconstant `Prelude.Collection.isEmptyP`
constant of type-class `Collection`
type `'c -> Prop`
non-executable :: 'ctype-variable `'c`
kind `*` -> Proptype `Prelude.Bool.Prop`
kind `*`
non-executable
property EqPtype-class `Prelude.Eq.EqP`
arguments: ('a :: *)
has default derive templates
derive-template labels
- eq (only deriving)
- full 'etype-variable `'e`
kind `*` => isEmptyP_okconstant `Prelude.Collection.isEmptyP_ok`
type-class property
type `EqP 'e => 'c -> Prop`
non-executable (cvariable `c`
type `'c` :: 'ctype-variable `'c`
kind `*`) := isEmptyPconstant `Prelude.Collection.isEmptyP`
constant of type-class `Collection`
type `'c -> Prop`
non-executable
same type-class instance cvariable `c`
type `'c` <=>constant `Prelude.Bool.(<=>)`
constant
type `Prop -> Prop -> Prop`
non-executable (forallP evariable `e`
type `'e`. notPconstant `Prelude.Bool.notP`
constant
type `Prop -> Prop`
non-executable (memberPconstant `Prelude.Collection.memberP`
constant of type-class `Collection`
type `EqP 'e => 'e -> 'c -> Prop`
type in context `'e -> 'c -> Prop`
non-executable
same type-class instance evariable `e`
type `'e` cvariable `c`
type `'c`))
property isEmptyP_emptyconstant `Prelude.Collection.isEmptyP_empty`
type-class property
type `Prop`
non-executable := isEmptyPconstant `Prelude.Collection.isEmptyP`
constant of type-class `Collection`
type `'c -> Prop`
non-executable
same type-class instance (memptyconstant `Prelude.BasicClasses.mempty`
constant of type-class `Monoid`
type `'a`
type in context `'c`
executable
type-class instance from context :: 'ctype-variable `'c`
kind `*`)
property EqPtype-class `Prelude.Eq.EqP`
arguments: ('a :: *)
has default derive templates
derive-template labels
- eq (only deriving)
- full 'etype-variable `'e`
kind `*` => memberP_insertconstant `Prelude.Collection.memberP_insert`
type-class property
type `EqP 'e => 'e -> 'e -> 'c -> Prop`
non-executable (e1variable `e1`
type `'e` :: 'etype-variable `'e`
kind `*`) e2variable `e2`
type `'e` (cvariable `c`
type `'c` :: 'ctype-variable `'c`
kind `*`) := (memberPconstant `Prelude.Collection.memberP`
constant of type-class `Collection`
type `EqP 'e => 'e -> 'c -> Prop`
type in context `'e -> 'c -> Prop`
non-executable
same type-class instance e1variable `e1`
type `'e` (insertconstant `Prelude.Collection.insert`
constant of type-class `Collection`
type `'e -> 'c -> 'c`
executable
same type-class instance e2variable `e2`
type `'e` cvariable `c`
type `'c`) <=>constant `Prelude.Bool.(<=>)`
constant
type `Prop -> Prop -> Prop`
non-executable ((e1variable `e1`
type `'e` ===constant `Prelude.Eq.(===)`
constant of type-class `EqP`
type `'a -> 'a -> Prop`
type in context `'e -> 'e -> Prop`
non-executable
type-class instance from argument e2variable `e2`
type `'e`) \/constant `Prelude.Bool.(\/)`
constant
type `Prop -> Prop -> Prop`
non-executable memberPconstant `Prelude.Collection.memberP`
constant of type-class `Collection`
type `EqP 'e => 'e -> 'c -> Prop`
type in context `'e -> 'c -> Prop`
non-executable
same type-class instance e1variable `e1`
type `'e` cvariable `c`
type `'c`))
property EqPtype-class `Prelude.Eq.EqP`
arguments: ('a :: *)
has default derive templates
derive-template labels
- eq (only deriving)
- full 'etype-variable `'e`
kind `*` => memberP_fromListconstant `Prelude.Collection.memberP_fromList`
type-class property
type `EqP 'e => 'e -> ['e] -> Prop`
non-executable (evariable `e`
type `'e` :: 'etype-variable `'e`
kind `*`) (lvariable `l`
type `['e]` :: ['etype-variable `'e`
kind `*`]) := (memberPconstant `Prelude.Collection.memberP`
constant of type-class `Collection`
type `EqP 'e => 'e -> 'c -> Prop`
type in context `'e -> 'c -> Prop`
non-executable
same type-class instance evariable `e`
type `'e` ((fromListconstant `Prelude.Collection.fromList`
constant of type-class `Collection`
type `['e] -> 'c`
executable
same type-class instance lvariable `l`
type `['e]`)::'ctype-variable `'c`
kind `*`) <=>constant `Prelude.Bool.(<=>)`
constant
type `Prop -> Prop -> Prop`
non-executable List.elemPconstant `Prelude.List.elemP`
constant
type `EqP 'a => 'a -> ['a] -> Prop`
type in context `'e -> ['e] -> Prop`
non-executable evariable `e`
type `'e` lvariable `l`
type `['e]`)
end-class
declare emptyconstant `Prelude.Collection.empty`
constant
type `Collection 'c 'e => 'c`
executable :: Collectiontype-class `Prelude.Collection.Collection`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.BasicClasses.Monoid 'c 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*` => 'ctype-variable `'c`
kind `*`
define emptyconstant `Prelude.Collection.empty`
constant
type `Collection 'c 'e => 'c`
executable := memptyconstant `Prelude.BasicClasses.mempty`
constant of type-class `Monoid`
type `'a`
type in context `'c`
executable
type-class instance from argument
{-# inline emptyconstant `Prelude.Collection.empty`
constant
type `Collection 'c 'e => 'c`
executable #-}
declare unionconstant `Prelude.Collection.union`
constant
type `Collection 'c 'e => 'c -> 'c -> 'c`
executable :: Collectiontype-class `Prelude.Collection.Collection`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.BasicClasses.Monoid 'c 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*` => 'ctype-variable `'c`
kind `*` -> 'ctype-variable `'c`
kind `*` -> 'ctype-variable `'c`
kind `*`
define unionconstant `Prelude.Collection.union`
constant
type `Collection 'c 'e => 'c -> 'c -> 'c`
executable := (<>)constant `Prelude.BasicClasses.(<>)`
constant of type-class `Semigroup`
type `'a -> 'a -> 'a`
type in context `'c -> 'c -> 'c`
executable
type-class instance from argument
{-# inline unionconstant `Prelude.Collection.union`
constant
type `Collection 'c 'e => 'c -> 'c -> 'c`
executable #-}
{-# severity class-constr-unusedclass-constraint is not needed, since it is not used ignore #-}
declare imageconstant `Prelude.Collection.image`
constant
type `(!Functor 'C, Collection ('C 'e1) 'e1, Collection ('C 'e2) 'e2) => ('e1 -> 'e2) -> 'C 'e1 -> 'C 'e2`
executable :: (!Functortype-class `Prelude.Functor.Functor`
arguments: ('F :: * -> *)
reserved var-names: 'a, 'b
statically-resolved 'Ctype-variable `'C`
kind `* -> *`, Collectiontype-class `Prelude.Collection.Collection`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.BasicClasses.Monoid 'c ('Ctype-variable `'C`
kind `* -> *` 'e1type-variable `'e1`
kind `*`) 'e1type-variable `'e1`
kind `*`, Collectiontype-class `Prelude.Collection.Collection`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.BasicClasses.Monoid 'c ('Ctype-variable `'C`
kind `* -> *` 'e2type-variable `'e2`
kind `*`) 'e2type-variable `'e2`
kind `*`) => ('e1type-variable `'e1`
kind `*` -> 'e2type-variable `'e2`
kind `*`) -> 'Ctype-variable `'C`
kind `* -> *` 'e1type-variable `'e1`
kind `*` -> 'Ctype-variable `'C`
kind `* -> *` 'e2type-variable `'e2`
kind `*`
define imageconstant `Prelude.Collection.image`
constant
type `(!Functor 'C, Collection ('C 'e1) 'e1, Collection ('C 'e2) 'e2) => ('e1 -> 'e2) -> 'C 'e1 -> 'C 'e2`
executable := fmapconstant `Prelude.Functor.fmap`
statically resolved constant of type-class `Functor`
type `('a -> 'b) -> 'F 'a -> 'F 'b`
type in context `('e1 -> 'e2) -> 'C 'e1 -> 'C 'e2`
executable
type-class instance from argument
{-# inline imageconstant `Prelude.Collection.image`
constant
type `(!Functor 'C, Collection ('C 'e1) 'e1, Collection ('C 'e2) 'e2) => ('e1 -> 'e2) -> 'C 'e1 -> 'C 'e2`
executable #-}
{-# severity class-constr-unusedclass-constraint is not needed, since it is not used reset #-}
class Collectiontype-class `Prelude.Collection.Collection`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.BasicClasses.Monoid 'c 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*` => CollectionWithEmptynessTest 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*` | 'c -> 'e where
declare isEmptyconstant `Prelude.Collection.isEmpty`
constant of type-class `CollectionWithEmptynessTest`
type `'c -> Bool`
executable :: 'ctype-variable `'c`
kind `*` -> Booldatatype `Prelude.Bool.Bool`
kind `*`
executable
property isEmptyP_eq_isEmptyconstant `Prelude.Collection.isEmptyP_eq_isEmpty`
type-class property
type `'c -> Prop`
non-executable (cvariable `c`
type `'c` :: 'ctype-variable `'c`
kind `*`) := (isEmptyPconstant `Prelude.Collection.isEmptyP`
constant of type-class `Collection`
type `'c -> Prop`
non-executable
type-class instance from context cvariable `c`
type `'c` <=>constant `Prelude.Bool.(<=>)`
constant
type `Prop -> Prop -> Prop`
non-executable (isEmptyconstant `Prelude.Collection.isEmpty`
constant of type-class `CollectionWithEmptynessTest`
type `'c -> Bool`
executable
same type-class instance cvariable `c`
type `'c` ===constant `Prelude.Eq.(===)`
constant of type-class `EqP`
type `'a -> 'a -> Prop`
type in context `Bool -> Bool -> Prop`
non-executable
statically resolved type-class instance Trueconstant `Prelude.Bool.True`
constructor of datatype `Bool`
type `Bool`
executable))
end-class
class Collectiontype-class `Prelude.Collection.Collection`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.BasicClasses.Monoid 'c 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*` => CollectionWithMembershipTest 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*` | 'c -> 'e where
declare occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
executable :: Eqtype-class `Prelude.Eq.Eq`
arguments: ('a :: *)
super-class constraints:
- Prelude.Eq.EqP 'a
has default derive templates 'etype-variable `'e`
kind `*` => 'etype-variable `'e`
kind `*` -> 'ctype-variable `'c`
kind `*` -> Naturaldatatype `Prelude.Num.Natural`
kind `*`
executable
declare memberconstant `Prelude.Collection.member`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Bool`
executable :: Eqtype-class `Prelude.Eq.Eq`
arguments: ('a :: *)
super-class constraints:
- Prelude.Eq.EqP 'a
has default derive templates 'etype-variable `'e`
kind `*` => 'etype-variable `'e`
kind `*` -> 'ctype-variable `'c`
kind `*` -> Booldatatype `Prelude.Bool.Bool`
kind `*`
executable
define memberconstant `Prelude.Collection.member`
default instance of type-class constant
type `Eq 'e => ('e -> 'c -> Natural) -> 'e -> 'c -> Bool`
executable evariable `e`
type `'e` cvariable `c`
type `'c` := (occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
type in context `'e -> 'c -> Natural`
executable
same type-class instance evariable `e`
type `'e` cvariable `c`
type `'c` >constant `Prelude.Ord.(>)`
constant of type-class `Ord`
type `'a -> 'a -> Bool`
type in context `Natural -> Natural -> Bool`
executable
statically resolved type-class instance 0natural number literal
type `Natural`
decimal value: 0
hexadecimal value: 0x0
octal value: 0o0
binary value: 0b0)
test Eqtype-class `Prelude.Eq.Eq`
arguments: ('a :: *)
super-class constraints:
- Prelude.Eq.EqP 'a
has default derive templates 'etype-variable `'e`
kind `*` => occur_insert_1constant `Prelude.Collection.occur_insert_1`
type-class test
type `Eq 'e => 'e -> 'c -> Bool`
executable (evariable `e`
type `'e` :: 'etype-variable `'e`
kind `*`) (cvariable `c`
type `'c` :: 'ctype-variable `'c`
kind `*`) :=
(occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
type in context `'e -> 'c -> Natural`
executable
same type-class instance evariable `e`
type `'e` (insertconstant `Prelude.Collection.insert`
constant of type-class `Collection`
type `'e -> 'c -> 'c`
executable
type-class instance from context evariable `e`
type `'e` cvariable `c`
type `'c`) ==constant `Prelude.Eq.(==)`
constant of type-class `Eq`
type `'a -> 'a -> Bool`
type in context `Natural -> Natural -> Bool`
executable
statically resolved type-class instance occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
type in context `'e -> 'c -> Natural`
executable
same type-class instance evariable `e`
type `'e` cvariable `c`
type `'c` +constant `Prelude.Num.(+)`
constant of type-class `NumPlus`
type `'a -> 'a -> 'a`
type in context `Natural -> Natural -> Natural`
executable
statically resolved type-class instance 1natural number literal
type `Natural`
decimal value: 1
hexadecimal value: 0x1
octal value: 0o1
binary value: 0b1) ||constant `Prelude.Bool.(||)`
constant
type `Bool -> Bool -> Bool`
executable
((occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
type in context `'e -> 'c -> Natural`
executable
same type-class instance evariable `e`
type `'e` (insertconstant `Prelude.Collection.insert`
constant of type-class `Collection`
type `'e -> 'c -> 'c`
executable
type-class instance from context evariable `e`
type `'e` cvariable `c`
type `'c`) ==constant `Prelude.Eq.(==)`
constant of type-class `Eq`
type `'a -> 'a -> Bool`
type in context `Natural -> Natural -> Bool`
executable
statically resolved type-class instance 1natural number literal
type `Natural`
decimal value: 1
hexadecimal value: 0x1
octal value: 0o1
binary value: 0b1) &&constant `Prelude.Bool.(&&)`
constant
type `Bool -> Bool -> Bool`
executable (occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
type in context `'e -> 'c -> Natural`
executable
same type-class instance evariable `e`
type `'e` cvariable `c`
type `'c` ==constant `Prelude.Eq.(==)`
constant of type-class `Eq`
type `'a -> 'a -> Bool`
type in context `Natural -> Natural -> Bool`
executable
statically resolved type-class instance 1natural number literal
type `Natural`
decimal value: 1
hexadecimal value: 0x1
octal value: 0o1
binary value: 0b1))
test Eqtype-class `Prelude.Eq.Eq`
arguments: ('a :: *)
super-class constraints:
- Prelude.Eq.EqP 'a
has default derive templates 'etype-variable `'e`
kind `*` => occur_insert_2constant `Prelude.Collection.occur_insert_2`
type-class test
type `Eq 'e => 'e -> 'e -> 'c -> Bool`
executable (e1variable `e1`
type `'e` :: 'etype-variable `'e`
kind `*`) (e2variable `e2`
type `'e` :: 'etype-variable `'e`
kind `*`) (cvariable `c`
type `'c` :: 'ctype-variable `'c`
kind `*`) :=
(e1variable `e1`
type `'e` /=constant `Prelude.Eq.(/=)`
constant of type-class `Eq`
type `'a -> 'a -> Bool`
type in context `'e -> 'e -> Bool`
executable
type-class instance from argument e2variable `e2`
type `'e`) -->constant `Prelude.Bool.(-->)`
constant
type `Bool -> Bool -> Bool`
executable
((occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
type in context `'e -> 'c -> Natural`
executable
same type-class instance e1variable `e1`
type `'e` (insertconstant `Prelude.Collection.insert`
constant of type-class `Collection`
type `'e -> 'c -> 'c`
executable
type-class instance from context e2variable `e2`
type `'e` cvariable `c`
type `'c`) ==constant `Prelude.Eq.(==)`
constant of type-class `Eq`
type `'a -> 'a -> Bool`
type in context `Natural -> Natural -> Bool`
executable
statically resolved type-class instance occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
type in context `'e -> 'c -> Natural`
executable
same type-class instance e1variable `e1`
type `'e` cvariable `c`
type `'c`))
property Eqtype-class `Prelude.Eq.Eq`
arguments: ('a :: *)
super-class constraints:
- Prelude.Eq.EqP 'a
has default derive templates 'etype-variable `'e`
kind `*` => memberP_memberconstant `Prelude.Collection.memberP_member`
type-class property
type `Eq 'e => 'e -> 'c -> Prop`
non-executable (evariable `e`
type `'e` :: 'etype-variable `'e`
kind `*`) (cvariable `c`
type `'c` :: 'ctype-variable `'c`
kind `*`) :=
(memberPconstant `Prelude.Collection.memberP`
constant of type-class `Collection`
type `EqP 'e => 'e -> 'c -> Prop`
type in context `'e -> 'c -> Prop`
non-executable
type-class instance from context evariable `e`
type `'e` cvariable `c`
type `'c` <=>constant `Prelude.Bool.(<=>)`
constant
type `Prop -> Prop -> Prop`
non-executable (memberconstant `Prelude.Collection.member`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Bool`
type in context `'e -> 'c -> Bool`
executable
same type-class instance evariable `e`
type `'e` cvariable `c`
type `'c` ===constant `Prelude.Eq.(===)`
constant of type-class `EqP`
type `'a -> 'a -> Prop`
type in context `Bool -> Bool -> Prop`
non-executable
statically resolved type-class instance Trueconstant `Prelude.Bool.True`
constructor of datatype `Bool`
type `Bool`
executable))
end-class
class (Eqtype-class `Prelude.Eq.Eq`
arguments: ('a :: *)
super-class constraints:
- Prelude.Eq.EqP 'a
has default derive templates 'etype-variable `'e`
kind `*`, CollectionWithMembershipTesttype-class `Prelude.Collection.CollectionWithMembershipTest`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.Collection 'c 'e 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*`) => CollectionWithDelete 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*` | 'c -> 'e where
declare deleteconstant `Prelude.Collection.delete`
constant of type-class `CollectionWithDelete`
type `'e -> 'c -> 'c`
executable :: 'etype-variable `'e`
kind `*` -> 'ctype-variable `'c`
kind `*` -> 'ctype-variable `'c`
kind `*`
declare filterconstant `Prelude.Collection.filter`
constant of type-class `CollectionWithDelete`
type `('e -> Bool) -> 'c -> 'c`
executable :: ('etype-variable `'e`
kind `*` -> Booldatatype `Prelude.Bool.Bool`
kind `*`
executable) -> 'ctype-variable `'c`
kind `*` -> 'ctype-variable `'c`
kind `*`
define filterconstant `Prelude.Collection.filter`
default instance of type-class constant
type `(('e -> Bool) -> 'c -> ('c, 'c)) -> ('e -> Bool) -> 'c -> 'c`
executable pvariable `p`
type `'e -> Bool` svariable `s`
type `'c` := fstconstant `Prelude.Tuple.fst`
constant
type `('a, 'b) -> 'a`
type in context `('c, 'c) -> 'c`
executable (partitionconstant `Prelude.Collection.partition`
constant of type-class `CollectionWithDelete`
type `('e -> Bool) -> 'c -> ('c, 'c)`
executable
same type-class instance pvariable `p`
type `'e -> Bool` svariable `s`
type `'c`)
declare differenceconstant `Prelude.Collection.difference`
constant of type-class `CollectionWithDelete`
type `'c -> 'c -> 'c`
executable :: 'ctype-variable `'c`
kind `*` -> 'ctype-variable `'c`
kind `*` -> 'ctype-variable `'c`
kind `*`
declare intersectionconstant `Prelude.Collection.intersection`
constant of type-class `CollectionWithDelete`
type `'c -> 'c -> 'c`
executable :: 'ctype-variable `'c`
kind `*` -> 'ctype-variable `'c`
kind `*` -> 'ctype-variable `'c`
kind `*`
declare partitionconstant `Prelude.Collection.partition`
constant of type-class `CollectionWithDelete`
type `('e -> Bool) -> 'c -> ('c, 'c)`
executable :: ('etype-variable `'e`
kind `*` -> Booldatatype `Prelude.Bool.Bool`
kind `*`
executable) -> 'ctype-variable `'c`
kind `*` -> ('ctype-variable `'c`
kind `*`, 'ctype-variable `'c`
kind `*`)
define partitionconstant `Prelude.Collection.partition`
default instance of type-class constant
type `(('e -> Bool) -> 'c -> 'c) -> ('e -> Bool) -> 'c -> ('c, 'c)`
executable pvariable `p`
type `'e -> Bool` svariable `s`
type `'c` := (filterconstant `Prelude.Collection.filter`
constant of type-class `CollectionWithDelete`
type `('e -> Bool) -> 'c -> 'c`
executable
same type-class instance pvariable `p`
type `'e -> Bool` svariable `s`
type `'c`, filterconstant `Prelude.Collection.filter`
constant of type-class `CollectionWithDelete`
type `('e -> Bool) -> 'c -> 'c`
executable
same type-class instance (notconstant `Prelude.Bool.not`
constant
type `Bool -> Bool`
executable .constant `Prelude.Function.(.)`
constant of type-class `Dot`
type `'a -> 'b -> 'c`
type in context `(Bool -> Bool) -> ('e -> Bool) -> 'e -> Bool`
executable
statically resolved type-class instance pvariable `p`
type `'e -> Bool`) svariable `s`
type `'c`)
test member_filterconstant `Prelude.Collection.member_filter`
type-class test
type `'e -> 'c -> ('e -> Bool) -> Bool`
executable (evariable `e`
type `'e` :: 'etype-variable `'e`
kind `*`) (cvariable `c`
type `'c` :: 'ctype-variable `'c`
kind `*`) pvariable `p`
type `'e -> Bool` :=
memberconstant `Prelude.Collection.member`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Bool`
type in context `'e -> 'c -> Bool`
executable
type-class instance from context evariable `e`
type `'e` (filterconstant `Prelude.Collection.filter`
constant of type-class `CollectionWithDelete`
type `('e -> Bool) -> 'c -> 'c`
executable
same type-class instance pvariable `p`
type `'e -> Bool` cvariable `c`
type `'c`) <->constant `Prelude.Bool.(<->)`
constant
type `Bool -> Bool -> Bool`
executable (memberconstant `Prelude.Collection.member`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Bool`
type in context `'e -> 'c -> Bool`
executable
type-class instance from context evariable `e`
type `'e` cvariable `c`
type `'c` &&constant `Prelude.Bool.(&&)`
constant
type `Bool -> Bool -> Bool`
executable pvariable `p`
type `'e -> Bool` evariable `e`
type `'e`)
test occur_filterconstant `Prelude.Collection.occur_filter`
type-class test
type `'e -> 'c -> ('e -> Bool) -> Bool`
executable (evariable `e`
type `'e` :: 'etype-variable `'e`
kind `*`) (cvariable `c`
type `'c` :: 'ctype-variable `'c`
kind `*`) pvariable `p`
type `'e -> Bool` :=
occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
type in context `'e -> 'c -> Natural`
executable
type-class instance from context evariable `e`
type `'e` (filterconstant `Prelude.Collection.filter`
constant of type-class `CollectionWithDelete`
type `('e -> Bool) -> 'c -> 'c`
executable
same type-class instance pvariable `p`
type `'e -> Bool` cvariable `c`
type `'c`) ==constant `Prelude.Eq.(==)`
constant of type-class `Eq`
type `'a -> 'a -> Bool`
type in context `Natural -> Natural -> Bool`
executable
statically resolved type-class instance (if pvariable `p`
type `'e -> Bool` evariable `e`
type `'e` then occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
type in context `'e -> 'c -> Natural`
executable
type-class instance from context evariable `e`
type `'e` cvariable `c`
type `'c` else 0natural number literal
type `Natural`
decimal value: 0
hexadecimal value: 0x0
octal value: 0o0
binary value: 0b0)
test occur_deleteconstant `Prelude.Collection.occur_delete`
type-class test
type `'e -> 'c -> Bool`
executable (evariable `e`
type `'e` :: 'etype-variable `'e`
kind `*`) (cvariable `c`
type `'c` :: 'ctype-variable `'c`
kind `*`) :=
occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
type in context `'e -> 'c -> Natural`
executable
type-class instance from context evariable `e`
type `'e` (deleteconstant `Prelude.Collection.delete`
constant of type-class `CollectionWithDelete`
type `'e -> 'c -> 'c`
executable
same type-class instance evariable `e`
type `'e` cvariable `c`
type `'c`) ==constant `Prelude.Eq.(==)`
constant of type-class `Eq`
type `'a -> 'a -> Bool`
type in context `Natural -> Natural -> Bool`
executable
statically resolved type-class instance maxconstant `Prelude.Ord.max`
constant of type-class `Ord`
type `'a -> 'a -> 'a`
type in context `Natural -> Natural -> Natural`
executable
statically resolved type-class instance 0natural number literal
type `Natural`
decimal value: 0
hexadecimal value: 0x0
octal value: 0o0
binary value: 0b0 (occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
type in context `'e -> 'c -> Natural`
executable
type-class instance from context evariable `e`
type `'e` cvariable `c`
type `'c` -constant `Prelude.Num.(-)`
constant of type-class `NumMinus`
type `'a -> 'a -> 'a`
type in context `Natural -> Natural -> Natural`
executable
statically resolved type-class instance 1natural number literal
type `Natural`
decimal value: 1
hexadecimal value: 0x1
octal value: 0o1
binary value: 0b1)
test member_deleteconstant `Prelude.Collection.member_delete`
type-class test
type `'e -> 'e -> 'c -> Bool`
executable (e1variable `e1`
type `'e` :: 'etype-variable `'e`
kind `*`) (e2variable `e2`
type `'e` :: 'etype-variable `'e`
kind `*`) (cvariable `c`
type `'c` :: 'ctype-variable `'c`
kind `*`) :=
(e1variable `e1`
type `'e` /=constant `Prelude.Eq.(/=)`
constant of type-class `Eq`
type `'a -> 'a -> Bool`
type in context `'e -> 'e -> Bool`
executable
type-class instance from context e2variable `e2`
type `'e`) -->constant `Prelude.Bool.(-->)`
constant
type `Bool -> Bool -> Bool`
executable (occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
type in context `'e -> 'c -> Natural`
executable
type-class instance from context e1variable `e1`
type `'e` (deleteconstant `Prelude.Collection.delete`
constant of type-class `CollectionWithDelete`
type `'e -> 'c -> 'c`
executable
same type-class instance e2variable `e2`
type `'e` cvariable `c`
type `'c`) ==constant `Prelude.Eq.(==)`
constant of type-class `Eq`
type `'a -> 'a -> Bool`
type in context `Natural -> Natural -> Bool`
executable
statically resolved type-class instance occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
type in context `'e -> 'c -> Natural`
executable
type-class instance from context e1variable `e1`
type `'e` cvariable `c`
type `'c`)
test intersection_okconstant `Prelude.Collection.intersection_ok`
type-class test
type `'e -> 'c -> 'c -> Bool`
executable (evariable `e`
type `'e` :: 'etype-variable `'e`
kind `*`) (c1variable `c1`
type `'c` :: 'ctype-variable `'c`
kind `*`) (c2variable `c2`
type `'c` :: 'ctype-variable `'c`
kind `*`) :=
occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
type in context `'e -> 'c -> Natural`
executable
type-class instance from context evariable `e`
type `'e` (intersectionconstant `Prelude.Collection.intersection`
constant of type-class `CollectionWithDelete`
type `'c -> 'c -> 'c`
executable
same type-class instance c1variable `c1`
type `'c` c2variable `c2`
type `'c`) ==constant `Prelude.Eq.(==)`
constant of type-class `Eq`
type `'a -> 'a -> Bool`
type in context `Natural -> Natural -> Bool`
executable
statically resolved type-class instance minconstant `Prelude.Ord.min`
constant of type-class `Ord`
type `'a -> 'a -> 'a`
type in context `Natural -> Natural -> Natural`
executable
statically resolved type-class instance (occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
type in context `'e -> 'c -> Natural`
executable
type-class instance from context evariable `e`
type `'e` c1variable `c1`
type `'c`) (occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
type in context `'e -> 'c -> Natural`
executable
type-class instance from context evariable `e`
type `'e` c2variable `c2`
type `'c`)
test difference_okconstant `Prelude.Collection.difference_ok`
type-class test
type `'e -> 'c -> 'c -> Bool`
executable (evariable `e`
type `'e` :: 'etype-variable `'e`
kind `*`) (c1variable `c1`
type `'c` :: 'ctype-variable `'c`
kind `*`) (c2variable `c2`
type `'c` :: 'ctype-variable `'c`
kind `*`) :=
occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
type in context `'e -> 'c -> Natural`
executable
type-class instance from context evariable `e`
type `'e` (differenceconstant `Prelude.Collection.difference`
constant of type-class `CollectionWithDelete`
type `'c -> 'c -> 'c`
executable
same type-class instance c1variable `c1`
type `'c` c2variable `c2`
type `'c`) ==constant `Prelude.Eq.(==)`
constant of type-class `Eq`
type `'a -> 'a -> Bool`
type in context `Natural -> Natural -> Bool`
executable
statically resolved type-class instance maxconstant `Prelude.Ord.max`
constant of type-class `Ord`
type `'a -> 'a -> 'a`
type in context `Natural -> Natural -> Natural`
executable
statically resolved type-class instance 0natural number literal
type `Natural`
decimal value: 0
hexadecimal value: 0x0
octal value: 0o0
binary value: 0b0 (occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
type in context `'e -> 'c -> Natural`
executable
type-class instance from context evariable `e`
type `'e` c1variable `c1`
type `'c` -constant `Prelude.Num.(-)`
constant of type-class `NumMinus`
type `'a -> 'a -> 'a`
type in context `Natural -> Natural -> Natural`
executable
statically resolved type-class instance occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
type in context `'e -> 'c -> Natural`
executable
type-class instance from context evariable `e`
type `'e` c2variable `c2`
type `'c`)
end-class
class (CollectionWithMembershipTesttype-class `Prelude.Collection.CollectionWithMembershipTest`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.Collection 'c 'e 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*`, CollectionWithEmptynessTesttype-class `Prelude.Collection.CollectionWithEmptynessTest`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.Collection 'c 'e 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*`, Foldabletype-class `Prelude.Foldable.Foldable`
arguments: ('t :: *) ('e :: *)
functional deps: 't -> 'e
reserved var-names: 'acc 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*`) => FiniteCollection 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*` | 'c -> 'e where
test empty_sizeconstant `Prelude.Collection.empty_size`
type-class test
type `Bool`
executable := (sizeconstant `Prelude.Foldable.size`
constant of type-class `Foldable`
type `'t -> Natural`
type in context `'c -> Natural`
executable
type-class instance from context (emptyconstant `Prelude.Collection.empty`
constant
type `Collection 'c 'e => 'c`
type in context `'c`
executable :: 'ctype-variable `'c`
kind `*`) ==constant `Prelude.Eq.(==)`
constant of type-class `Eq`
type `'a -> 'a -> Bool`
type in context `Natural -> Natural -> Bool`
executable
statically resolved type-class instance 0natural number literal
type `Natural`
decimal value: 0
hexadecimal value: 0x0
octal value: 0o0
binary value: 0b0)
test null_okconstant `Prelude.Collection.null_ok`
type-class test
type `'c -> Bool`
executable (cvariable `c`
type `'c` :: 'ctype-variable `'c`
kind `*`) := (isEmptyconstant `Prelude.Collection.isEmpty`
constant of type-class `CollectionWithEmptynessTest`
type `'c -> Bool`
executable
type-class instance from context cvariable `c`
type `'c` <->constant `Prelude.Bool.(<->)`
constant
type `Bool -> Bool -> Bool`
executable nullconstant `Prelude.Foldable.null`
constant of type-class `Foldable`
type `'t -> Bool`
type in context `'c -> Bool`
executable
type-class instance from context cvariable `c`
type `'c`)
test size_fromToListconstant `Prelude.Collection.size_fromToList`
type-class test
type `'c -> Bool`
executable (cvariable `c`
type `'c` :: 'ctype-variable `'c`
kind `*`) := sizeconstant `Prelude.Foldable.size`
constant of type-class `Foldable`
type `'t -> Natural`
type in context `'c -> Natural`
executable
type-class instance from context ((fromListconstant `Prelude.Collection.fromList`
constant of type-class `Collection`
type `['e] -> 'c`
executable
type-class instance from context ((toListconstant `Prelude.Foldable.toList`
constant of type-class `Foldable`
type `'t -> ['e]`
type in context `'c -> ['e]`
executable
type-class instance from context cvariable `c`
type `'c`) :: ['etype-variable `'e`
kind `*`])) :: 'ctype-variable `'c`
kind `*`) ==constant `Prelude.Eq.(==)`
constant of type-class `Eq`
type `'a -> 'a -> Bool`
type in context `Natural -> Natural -> Bool`
executable
statically resolved type-class instance sizeconstant `Prelude.Foldable.size`
constant of type-class `Foldable`
type `'t -> Natural`
type in context `'c -> Natural`
executable
type-class instance from context cvariable `c`
type `'c`
test size_toFromListconstant `Prelude.Collection.size_toFromList`
type-class test
type `['e] -> Bool`
executable (lvariable `l`
type `['e]` :: ['etype-variable `'e`
kind `*`]) := sizeconstant `Prelude.Foldable.size`
constant of type-class `Foldable`
type `'t -> Natural`
type in context `'c -> Natural`
executable
type-class instance from context ((fromListconstant `Prelude.Collection.fromList`
constant of type-class `Collection`
type `['e] -> 'c`
executable
type-class instance from context lvariable `l`
type `['e]`) :: 'ctype-variable `'c`
kind `*`) <=constant `Prelude.Ord.(<=)`
constant of type-class `Ord`
type `'a -> 'a -> Bool`
type in context `Natural -> Natural -> Bool`
executable
statically resolved type-class instance List.lengthconstant `Prelude.List.length`
constant
type `['a] -> Natural`
type in context `['e] -> Natural`
executable lvariable `l`
type `['e]`
test Eqtype-class `Prelude.Eq.Eq`
arguments: ('a :: *)
super-class constraints:
- Prelude.Eq.EqP 'a
has default derive templates 'etype-variable `'e`
kind `*` => elem_okconstant `Prelude.Collection.elem_ok`
type-class test
type `Eq 'e => 'e -> 'c -> Bool`
executable (evariable `e`
type `'e` :: 'etype-variable `'e`
kind `*`) (cvariable `c`
type `'c` :: 'ctype-variable `'c`
kind `*`) := memberconstant `Prelude.Collection.member`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Bool`
type in context `'e -> 'c -> Bool`
executable
type-class instance from context evariable `e`
type `'e` cvariable `c`
type `'c` <->constant `Prelude.Bool.(<->)`
constant
type `Bool -> Bool -> Bool`
executable elemconstant `Prelude.Foldable.elem`
constant of type-class `Foldable`
type `Eq 'e => 'e -> 't -> Bool`
type in context `'e -> 'c -> Bool`
executable
type-class instance from context evariable `e`
type `'e` cvariable `c`
type `'c`
property EqPtype-class `Prelude.Eq.EqP`
arguments: ('a :: *)
has default derive templates
derive-template labels
- eq (only deriving)
- full 'etype-variable `'e`
kind `*` => memberP_toListconstant `Prelude.Collection.memberP_toList`
type-class property
type `EqP 'e => 'e -> 'c -> Prop`
non-executable (evariable `e`
type `'e` :: 'etype-variable `'e`
kind `*`) (cvariable `c`
type `'c` :: 'ctype-variable `'c`
kind `*`) :=
(List.elemPconstant `Prelude.List.elemP`
constant
type `EqP 'a => 'a -> ['a] -> Prop`
type in context `'e -> ['e] -> Prop`
non-executable evariable `e`
type `'e` (toListconstant `Prelude.Foldable.toList`
constant of type-class `Foldable`
type `'t -> ['e]`
type in context `'c -> ['e]`
executable
type-class instance from context (cvariable `c`
type `'c`::'ctype-variable `'c`
kind `*`)) <=>constant `Prelude.Bool.(<=>)`
constant
type `Prop -> Prop -> Prop`
non-executable memberPconstant `Prelude.Collection.memberP`
constant of type-class `Collection`
type `EqP 'e => 'e -> 'c -> Prop`
type in context `'e -> 'c -> Prop`
non-executable
type-class instance from context evariable `e`
type `'e` cvariable `c`
type `'c`)
test Eqtype-class `Prelude.Eq.Eq`
arguments: ('a :: *)
super-class constraints:
- Prelude.Eq.EqP 'a
has default derive templates 'etype-variable `'e`
kind `*` => member_elemconstant `Prelude.Collection.member_elem`
type-class test
type `Eq 'e => 'e -> 'c -> Bool`
executable (evariable `e`
type `'e` :: 'etype-variable `'e`
kind `*`) (cvariable `c`
type `'c` :: 'ctype-variable `'c`
kind `*`) := (elemconstant `Prelude.Foldable.elem`
constant of type-class `Foldable`
type `Eq 'e => 'e -> 't -> Bool`
type in context `'e -> 'c -> Bool`
executable
type-class instance from context evariable `e`
type `'e` cvariable `c`
type `'c` <->constant `Prelude.Bool.(<->)`
constant
type `Bool -> Bool -> Bool`
executable memberconstant `Prelude.Collection.member`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Bool`
type in context `'e -> 'c -> Bool`
executable
type-class instance from context evariable `e`
type `'e` cvariable `c`
type `'c`)
end-class
class (CollectionWithDeletetype-class `Prelude.Collection.CollectionWithDelete`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Eq.Eq 'e
- Prelude.Collection.CollectionWithMembershipTest 'c 'e 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*`, CollectionWithEmptynessTesttype-class `Prelude.Collection.CollectionWithEmptynessTest`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.Collection 'c 'e 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*`) => CollectionWithSubsetTest 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*` | 'c -> 'e where
declare disjointconstant `Prelude.Collection.disjoint`
constant of type-class `CollectionWithSubsetTest`
type `'c -> 'c -> Bool`
executable :: 'ctype-variable `'c`
kind `*` -> 'ctype-variable `'c`
kind `*` -> Booldatatype `Prelude.Bool.Bool`
kind `*`
executable
declare isSubsetOfconstant `Prelude.Collection.isSubsetOf`
constant of type-class `CollectionWithSubsetTest`
type `'c -> 'c -> Bool`
executable :: 'ctype-variable `'c`
kind `*` -> 'ctype-variable `'c`
kind `*` -> Booldatatype `Prelude.Bool.Bool`
kind `*`
executable
declare isProperSubsetOfconstant `Prelude.Collection.isProperSubsetOf`
constant of type-class `CollectionWithSubsetTest`
type `'c -> 'c -> Bool`
executable :: 'ctype-variable `'c`
kind `*` -> 'ctype-variable `'c`
kind `*` -> Booldatatype `Prelude.Bool.Bool`
kind `*`
executable
declare isSetEquivconstant `Prelude.Collection.isSetEquiv`
constant of type-class `CollectionWithSubsetTest`
type `'c -> 'c -> Bool`
executable :: 'ctype-variable `'c`
kind `*` -> 'ctype-variable `'c`
kind `*` -> Booldatatype `Prelude.Bool.Bool`
kind `*`
executable
define isSetEquivconstant `Prelude.Collection.isSetEquiv`
default instance of type-class constant
type `('c -> 'c -> Bool) -> 'c -> 'c -> Bool`
executable xsvariable `xs`
type `'c` ysvariable `ys`
type `'c` := isSubsetOfconstant `Prelude.Collection.isSubsetOf`
constant of type-class `CollectionWithSubsetTest`
type `'c -> 'c -> Bool`
executable
same type-class instance xsvariable `xs`
type `'c` ysvariable `ys`
type `'c` &&constant `Prelude.Bool.(&&)`
constant
type `Bool -> Bool -> Bool`
executable isSubsetOfconstant `Prelude.Collection.isSubsetOf`
constant of type-class `CollectionWithSubsetTest`
type `'c -> 'c -> Bool`
executable
same type-class instance ysvariable `ys`
type `'c` xsvariable `xs`
type `'c`
define disjointconstant `Prelude.Collection.disjoint`
default instance of type-class constant
type `'c -> 'c -> Bool`
executable xsvariable `xs`
type `'c` ysvariable `ys`
type `'c` := isEmptyconstant `Prelude.Collection.isEmpty`
constant of type-class `CollectionWithEmptynessTest`
type `'c -> Bool`
executable
type-class instance from context (intersectionconstant `Prelude.Collection.intersection`
constant of type-class `CollectionWithDelete`
type `'c -> 'c -> 'c`
executable
type-class instance from context xsvariable `xs`
type `'c` ysvariable `ys`
type `'c`)
test disjoint_okconstant `Prelude.Collection.disjoint_ok`
type-class test
type `'e -> 'c -> 'c -> Bool`
executable (evariable `e`
type `'e` :: 'etype-variable `'e`
kind `*`) (c1variable `c1`
type `'c` :: 'ctype-variable `'c`
kind `*`) (c2variable `c2`
type `'c` :: 'ctype-variable `'c`
kind `*`) := notconstant `Prelude.Bool.not`
constant
type `Bool -> Bool`
executable (memberconstant `Prelude.Collection.member`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Bool`
type in context `'e -> 'c -> Bool`
executable
type-class instance from context evariable `e`
type `'e` c1variable `c1`
type `'c` &&constant `Prelude.Bool.(&&)`
constant
type `Bool -> Bool -> Bool`
executable memberconstant `Prelude.Collection.member`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Bool`
type in context `'e -> 'c -> Bool`
executable
type-class instance from context evariable `e`
type `'e` c2variable `c2`
type `'c`)
test isSubsetOf_okconstant `Prelude.Collection.isSubsetOf_ok`
type-class test
type `'e -> 'c -> 'c -> Bool`
executable (evariable `e`
type `'e` :: 'etype-variable `'e`
kind `*`) (c1variable `c1`
type `'c` :: 'ctype-variable `'c`
kind `*`) (c2variable `c2`
type `'c` :: 'ctype-variable `'c`
kind `*`) := (occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
type in context `'e -> 'c -> Natural`
executable
type-class instance from context evariable `e`
type `'e` c1variable `c1`
type `'c` <=constant `Prelude.Ord.(<=)`
constant of type-class `Ord`
type `'a -> 'a -> Bool`
type in context `Natural -> Natural -> Bool`
executable
statically resolved type-class instance occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
type in context `'e -> 'c -> Natural`
executable
type-class instance from context evariable `e`
type `'e` c2variable `c2`
type `'c`)
test isProperSubsetOf_okconstant `Prelude.Collection.isProperSubsetOf_ok`
type-class test
type `'c -> 'c -> Bool`
executable (c1variable `c1`
type `'c` :: 'ctype-variable `'c`
kind `*`) (c2variable `c2`
type `'c` :: 'ctype-variable `'c`
kind `*`) := (isSubsetOfconstant `Prelude.Collection.isSubsetOf`
constant of type-class `CollectionWithSubsetTest`
type `'c -> 'c -> Bool`
executable
same type-class instance c1variable `c1`
type `'c` c2variable `c2`
type `'c`) &&constant `Prelude.Bool.(&&)`
constant
type `Bool -> Bool -> Bool`
executable notconstant `Prelude.Bool.not`
constant
type `Bool -> Bool`
executable (isSubsetOfconstant `Prelude.Collection.isSubsetOf`
constant of type-class `CollectionWithSubsetTest`
type `'c -> 'c -> Bool`
executable
same type-class instance c2variable `c2`
type `'c` c1variable `c1`
type `'c`)
end-class
class CollectionWithMembershipTesttype-class `Prelude.Collection.CollectionWithMembershipTest`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.Collection 'c 'e 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*` => SetLike 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*` | 'c -> 'e where
test Eqtype-class `Prelude.Eq.Eq`
arguments: ('a :: *)
super-class constraints:
- Prelude.Eq.EqP 'a
has default derive templates 'etype-variable `'e`
kind `*` => noDups_occurconstant `Prelude.Collection.noDups_occur`
type-class test
type `Eq 'e => 'e -> 'c -> Bool`
executable (evariable `e`
type `'e` :: 'etype-variable `'e`
kind `*`) (cvariable `c`
type `'c` :: 'ctype-variable `'c`
kind `*`) := occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
type in context `'e -> 'c -> Natural`
executable
type-class instance from context evariable `e`
type `'e` cvariable `c`
type `'c` <=constant `Prelude.Ord.(<=)`
constant of type-class `Ord`
type `'a -> 'a -> Bool`
type in context `Natural -> Natural -> Bool`
executable
statically resolved type-class instance 1natural number literal
type `Natural`
decimal value: 1
hexadecimal value: 0x1
octal value: 0o1
binary value: 0b1
end-class
declare setEmptyconstant `Prelude.Collection.setEmpty`
constant
type `SetLike 'c 'e => 'c`
executable :: SetLiketype-class `Prelude.Collection.SetLike`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.CollectionWithMembershipTest 'c 'e 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*` => 'ctype-variable `'c`
kind `*`
define setEmptyconstant `Prelude.Collection.setEmpty`
constant
type `SetLike 'c 'e => 'c`
executable := memptyconstant `Prelude.BasicClasses.mempty`
constant of type-class `Monoid`
type `'a`
type in context `'c`
executable
type-class instance from argument
{-# inline setEmptyconstant `Prelude.Collection.setEmpty`
constant
type `SetLike 'c 'e => 'c`
executable #-}
declare setInsertconstant `Prelude.Collection.setInsert`
constant
type `SetLike 'c 'e => 'e -> 'c -> 'c`
executable :: SetLiketype-class `Prelude.Collection.SetLike`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.CollectionWithMembershipTest 'c 'e 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*` => 'etype-variable `'e`
kind `*` -> 'ctype-variable `'c`
kind `*` -> 'ctype-variable `'c`
kind `*`
define setInsertconstant `Prelude.Collection.setInsert`
constant
type `SetLike 'c 'e => 'e -> 'c -> 'c`
executable := insertconstant `Prelude.Collection.insert`
constant of type-class `Collection`
type `'e -> 'c -> 'c`
executable
type-class instance from argument
{-# inline setInsertconstant `Prelude.Collection.setInsert`
constant
type `SetLike 'c 'e => 'e -> 'c -> 'c`
executable #-}
declare setFromListconstant `Prelude.Collection.setFromList`
constant
type `SetLike 'c 'e => ['e] -> 'c`
executable :: SetLiketype-class `Prelude.Collection.SetLike`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.CollectionWithMembershipTest 'c 'e 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*` => ['etype-variable `'e`
kind `*`] -> 'ctype-variable `'c`
kind `*`
define setFromListconstant `Prelude.Collection.setFromList`
constant
type `SetLike 'c 'e => ['e] -> 'c`
executable := fromListconstant `Prelude.Collection.fromList`
constant of type-class `Collection`
type `['e] -> 'c`
executable
type-class instance from argument
{-# inline setFromListconstant `Prelude.Collection.setFromList`
constant
type `SetLike 'c 'e => ['e] -> 'c`
executable #-}
class CollectionWithMembershipTesttype-class `Prelude.Collection.CollectionWithMembershipTest`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.Collection 'c 'e 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*` => BagLike 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*` | 'c -> 'e where
test Eqtype-class `Prelude.Eq.Eq`
arguments: ('a :: *)
super-class constraints:
- Prelude.Eq.EqP 'a
has default derive templates 'etype-variable `'e`
kind `*` => occur_insert_bagconstant `Prelude.Collection.occur_insert_bag`
type-class test
type `Eq 'e => 'e -> 'c -> Bool`
executable (evariable `e`
type `'e` :: 'etype-variable `'e`
kind `*`) (cvariable `c`
type `'c` :: 'ctype-variable `'c`
kind `*`) := (occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
type in context `'e -> 'c -> Natural`
executable
type-class instance from context evariable `e`
type `'e` (insertconstant `Prelude.Collection.insert`
constant of type-class `Collection`
type `'e -> 'c -> 'c`
executable
type-class instance from context evariable `e`
type `'e` cvariable `c`
type `'c`) ==constant `Prelude.Eq.(==)`
constant of type-class `Eq`
type `'a -> 'a -> Bool`
type in context `Natural -> Natural -> Bool`
executable
statically resolved type-class instance occurconstant `Prelude.Collection.occur`
constant of type-class `CollectionWithMembershipTest`
type `Eq 'e => 'e -> 'c -> Natural`
type in context `'e -> 'c -> Natural`
executable
type-class instance from context evariable `e`
type `'e` cvariable `c`
type `'c` +constant `Prelude.Num.(+)`
constant of type-class `NumPlus`
type `'a -> 'a -> 'a`
type in context `Natural -> Natural -> Natural`
executable
statically resolved type-class instance 1natural number literal
type `Natural`
decimal value: 1
hexadecimal value: 0x1
octal value: 0o1
binary value: 0b1)
end-class
class (SetLiketype-class `Prelude.Collection.SetLike`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.CollectionWithMembershipTest 'c 'e 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*`, CollectionWithDeletetype-class `Prelude.Collection.CollectionWithDelete`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Eq.Eq 'e
- Prelude.Collection.CollectionWithMembershipTest 'c 'e 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*`, CollectionWithEmptynessTesttype-class `Prelude.Collection.CollectionWithEmptynessTest`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.Collection 'c 'e 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*`) => Set 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*` | 'c -> 'e where
end-class
class (Settype-class `Prelude.Collection.Set`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.SetLike 'c 'e
- Prelude.Collection.CollectionWithDelete 'c 'e
- Prelude.Collection.CollectionWithEmptynessTest 'c 'e 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*`, FiniteCollectiontype-class `Prelude.Collection.FiniteCollection`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.CollectionWithMembershipTest 'c 'e
- Prelude.Foldable.Foldable 'c 'e
- Prelude.Collection.CollectionWithEmptynessTest 'c 'e 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*`) => FiniteSet 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*` | 'c -> 'e where
end-class
class (BagLiketype-class `Prelude.Collection.BagLike`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.CollectionWithMembershipTest 'c 'e 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*`, CollectionWithDeletetype-class `Prelude.Collection.CollectionWithDelete`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Eq.Eq 'e
- Prelude.Collection.CollectionWithMembershipTest 'c 'e 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*`, CollectionWithEmptynessTesttype-class `Prelude.Collection.CollectionWithEmptynessTest`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.Collection 'c 'e 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*`) => Bag 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*` | 'c -> 'e where
end-class
class (Bagtype-class `Prelude.Collection.Bag`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.BagLike 'c 'e
- Prelude.Collection.CollectionWithDelete 'c 'e
- Prelude.Collection.CollectionWithEmptynessTest 'c 'e 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*`, FiniteCollectiontype-class `Prelude.Collection.FiniteCollection`
arguments: ('c :: *) ('e :: *)
functional deps: 'c -> 'e
super-class constraints:
- Prelude.Collection.CollectionWithMembershipTest 'c 'e
- Prelude.Foldable.Foldable 'c 'e
- Prelude.Collection.CollectionWithEmptynessTest 'c 'e 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*`) => FiniteBag 'ctype-variable `'c`
kind `*` 'etype-variable `'e`
kind `*` | 'c -> 'e where
end-class
end-moduleend of module Prelude.Collection
|