@@ -138,12 +138,7 @@ open Internal;
138
138
--- Ord A, Ord K and fun must be compatible. i.e cmp_k (fun a1) (fun a2) == cmp_a a1 a2
139
139
{-# specialize: [1, 2] #-}
140
140
lookupWith
141
- {A K}
142
- {{order : Ord K}}
143
- (fun : A -> K)
144
- (elem : K)
145
- (set : Set A)
146
- : Maybe A :=
141
+ {A K} {{order : Ord K}} (fun : A -> K) (elem : K) (set : Set A) : Maybe A :=
147
142
let
148
143
{-# specialize-by: [order, fun] #-}
149
144
go : Set A -> Maybe A
@@ -172,12 +167,7 @@ isMember {A} {{Ord A}} (elem : A) (set : Set A) : Bool :=
172
167
--- where == comes from Ord a.
173
168
{-# specialize: [1, 2] #-}
174
169
insertWith
175
- {A}
176
- {{order : Ord A}}
177
- (fun : A -> A -> A)
178
- (elem : A)
179
- (set : Set A)
180
- : Set A :=
170
+ {A} {{order : Ord A}} (fun : A -> A -> A) (elem : A) (set : Set A) : Set A :=
181
171
let
182
172
{-# specialize-by: [order, fun] #-}
183
173
go : Set A -> Set A
@@ -235,8 +225,7 @@ deleteWith
235
225
236
226
--- 𝒪(log 𝓃). Removes `elem` from `set`.
237
227
{-# specialize: [1] #-}
238
- delete {A} {{Ord A}} (elem : A) (set : Set A) : Set A :=
239
- deleteWith id elem set;
228
+ delete {A} {{Ord A}} (elem : A) (set : Set A) : Set A := deleteWith id elem set;
240
229
241
230
--- 𝒪(log 𝓃). Returns the minimum element of `set`.
242
231
lookupMin {A} : (set : Set A) -> Maybe A
@@ -309,8 +298,7 @@ instance
309
298
polymorphicFoldableSetI : Polymorphic.Foldable Set :=
310
299
Polymorphic.mkFoldable@{
311
300
{-# inline: true #-}
312
- for {A B} (f : B -> A -> B) (acc : B) (set : Set A) : B :=
313
- foldl f acc set;
301
+ for {A B} (f : B -> A -> B) (acc : B) (set : Set A) : B := foldl f acc set;
314
302
{-# inline: true #-}
315
303
rfor {A B} (f : B -> A -> B) (acc : B) (set : Set A) : B :=
316
304
foldr (flip f) acc set;
@@ -423,11 +411,7 @@ filter {A} {{Ord A}} (predicate : A -> Bool) (set : Set A) : Set A :=
423
411
424
412
syntax iterator partition {init := 0; range := 1};
425
413
partition
426
- {A}
427
- {{Ord A}}
428
- (predicate : A -> Bool)
429
- (set : Set A)
430
- : Pair (Set A) (Set A) :=
414
+ {A} {{Ord A}} (predicate : A -> Bool) (set : Set A) : Pair (Set A) (Set A) :=
431
415
for (trueSet, falseSet := empty, empty) (x in set) {
432
416
if
433
417
| predicate x := insert x trueSet, falseSet
0 commit comments