@@ -294,21 +294,21 @@ delete k m = maybe m snd (pop k m)
294294-- | Delete a key and its corresponding value from a map, returning the value
295295-- | as well as the subsequent map.
296296pop :: forall k v . Ord k => k -> Map k v -> Maybe (Tuple v (Map k v ))
297- pop = down Nil
297+ pop k = down Nil
298298 where
299299 comp :: k -> k -> Ordering
300300 comp = compare
301301
302- down :: List (TreeContext k v ) -> k -> Map k v -> Maybe (Tuple v (Map k v ))
303- down = unsafePartial \ctx k m -> case m of
302+ down :: List (TreeContext k v ) -> Map k v -> Maybe (Tuple v (Map k v ))
303+ down = unsafePartial \ctx m -> case m of
304304 Leaf -> Nothing
305305 Two left k1 v1 right ->
306306 case right, comp k k1 of
307307 Leaf , EQ -> Just (Tuple v1 (up ctx Leaf ))
308308 _ , EQ -> let max = maxNode left
309309 in Just (Tuple v1 (removeMaxNode (Cons (TwoLeft max.key max.value right) ctx) left))
310- _ , LT -> down (Cons (TwoLeft k1 v1 right) ctx) k left
311- _ , _ -> down (Cons (TwoRight left k1 v1) ctx) k right
310+ _ , LT -> down (Cons (TwoLeft k1 v1 right) ctx) left
311+ _ , _ -> down (Cons (TwoRight left k1 v1) ctx) right
312312 Three left k1 v1 mid k2 v2 right ->
313313 let leaves =
314314 case left, mid, right of
@@ -321,9 +321,9 @@ pop = down Nil
321321 in Just (Tuple v1 (removeMaxNode (Cons (ThreeLeft max.key max.value mid k2 v2 right) ctx) left))
322322 _ , _ , EQ -> let max = maxNode mid
323323 in Just (Tuple v2 (removeMaxNode (Cons (ThreeMiddle left k1 v1 max.key max.value right) ctx) mid))
324- _ , LT , _ -> down (Cons (ThreeLeft k1 v1 mid k2 v2 right) ctx) k left
325- _ , GT , LT -> down (Cons (ThreeMiddle left k1 v1 k2 v2 right) ctx) k mid
326- _ , _ , _ -> down (Cons (ThreeRight left k1 v1 mid k2 v2) ctx) k right
324+ _ , LT , _ -> down (Cons (ThreeLeft k1 v1 mid k2 v2 right) ctx) left
325+ _ , GT , LT -> down (Cons (ThreeMiddle left k1 v1 k2 v2 right) ctx) mid
326+ _ , _ , _ -> down (Cons (ThreeRight left k1 v1 mid k2 v2) ctx) right
327327
328328 up :: List (TreeContext k v ) -> Map k v -> Map k v
329329 up = unsafePartial \ctxs tree ->
@@ -351,17 +351,17 @@ pop = down Nil
351351
352352 maxNode :: Map k v -> { key :: k , value :: v }
353353 maxNode = unsafePartial \m -> case m of
354- Two _ k v Leaf -> { key: k, value: v }
354+ Two _ k' v Leaf -> { key: k' , value: v }
355355 Two _ _ _ right -> maxNode right
356- Three _ _ _ _ k v Leaf -> { key: k, value: v }
356+ Three _ _ _ _ k' v Leaf -> { key: k' , value: v }
357357 Three _ _ _ _ _ _ right -> maxNode right
358358
359359
360360 removeMaxNode :: List (TreeContext k v ) -> Map k v -> Map k v
361361 removeMaxNode = unsafePartial \ctx m ->
362362 case m of
363363 Two Leaf _ _ Leaf -> up ctx Leaf
364- Two left k v right -> removeMaxNode (Cons (TwoRight left k v) ctx) right
364+ Two left k' v right -> removeMaxNode (Cons (TwoRight left k' v) ctx) right
365365 Three Leaf k1 v1 Leaf _ _ Leaf -> up (Cons (TwoRight Leaf k1 v1) ctx) Leaf
366366 Three left k1 v1 mid k2 v2 right -> removeMaxNode (Cons (ThreeRight left k1 v1 mid k2 v2) ctx) right
367367
0 commit comments