@@ -14,7 +14,7 @@ lookupGE2 :: Ord k => k -> Map k a -> Maybe (k,a)
1414lookupGE2 = go
1515 where
1616 go ! _ Tip = Nothing
17- go ! k (Bin _ kx x l r) =
17+ go ! k (NE ( Bin _ kx x l r) ) =
1818 case compare k kx of
1919 LT -> case go k l of
2020 Nothing -> Just (kx,x)
@@ -27,7 +27,7 @@ lookupGE3 :: Ord k => k -> Map k a -> Maybe (k,a)
2727lookupGE3 = go Nothing
2828 where
2929 go def ! _ Tip = def
30- go def ! k (Bin _ kx x l r) =
30+ go def ! k (NE ( Bin _ kx x l r) ) =
3131 case compare k kx of
3232 LT -> go (Just (kx,x)) k l
3333 GT -> go def k r
@@ -38,26 +38,26 @@ lookupGE4 :: Ord k => k -> Map k a -> Maybe (k,a)
3838lookupGE4 k = k `seq` goNothing
3939 where
4040 goNothing Tip = Nothing
41- goNothing (Bin _ kx x l r) = case compare k kx of
42- LT -> goJust kx x l
43- EQ -> Just (kx, x)
44- GT -> goNothing r
41+ goNothing (NE ( Bin _ kx x l r) ) = case compare k kx of
42+ LT -> goJust kx x l
43+ EQ -> Just (kx, x)
44+ GT -> goNothing r
4545
4646 goJust ky y Tip = Just (ky, y)
47- goJust ky y (Bin _ kx x l r) = case compare k kx of
48- LT -> goJust kx x l
49- EQ -> Just (kx, x)
50- GT -> goJust ky y r
47+ goJust ky y (NE ( Bin _ kx x l r) ) = case compare k kx of
48+ LT -> goJust kx x l
49+ EQ -> Just (kx, x)
50+ GT -> goJust ky y r
5151{-# INLINABLE lookupGE4 #-}
5252
5353-------------------------------------------------------------------------------
5454-- Utilities
5555-------------------------------------------------------------------------------
5656
5757findMinMaybe :: Map k a -> Maybe (k ,a )
58- findMinMaybe (Bin _ kx x Tip _) = Just (kx,x)
59- findMinMaybe (Bin _ _ _ l _) = findMinMaybe l
60- findMinMaybe Tip = Nothing
58+ findMinMaybe (NE ( Bin _ kx x Tip _) ) = Just (kx,x)
59+ findMinMaybe (NE ( Bin _ _ _ l _) ) = findMinMaybe l
60+ findMinMaybe Tip = Nothing
6161
6262#ifdef TESTING
6363-------------------------------------------------------------------------------
0 commit comments