Skip to content
This repository was archived by the owner on Oct 4, 2020. It is now read-only.

Commit b758c03

Browse files
committed
Add Eq1 and Ord1 instances
1 parent 9d74e45 commit b758c03

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/Data/Map.purs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,12 @@ module Data.Map
3535
) where
3636

3737
import Prelude
38+
import Data.Eq (class Eq1)
3839
import Data.Foldable (foldl, foldMap, foldr, class Foldable)
3940
import Data.List (List(..), (:), length, nub)
4041
import Data.Maybe (Maybe(..), maybe, isJust, fromMaybe)
4142
import Data.Monoid (class Monoid)
43+
import Data.Ord (class Ord1)
4244
import Data.Traversable (traverse, class Traversable)
4345
import Data.Tuple (Tuple(Tuple), snd)
4446
import Data.Unfoldable (class Unfoldable, unfoldr)
@@ -54,9 +56,15 @@ data Map k v
5456
toAscArray :: forall k v. Map k v -> Array (Tuple k v)
5557
toAscArray = toAscUnfoldable
5658

59+
instance eq1Map :: Eq k => Eq1 (Map k) where
60+
eq1 = eq
61+
5762
instance eqMap :: (Eq k, Eq v) => Eq (Map k v) where
5863
eq m1 m2 = toAscArray m1 == toAscArray m2
5964

65+
instance ord1Map :: Ord k => Ord1 (Map k) where
66+
compare1 = compare
67+
6068
instance ordMap :: (Ord k, Ord v) => Ord (Map k v) where
6169
compare m1 m2 = compare (toAscArray m1) (toAscArray m2)
6270

0 commit comments

Comments
 (0)