@@ -1,28 +0,0 @@
5−-- TODO: add intersection, union, difference
7−data SortedSet k = SetWrapper (Data.SortedMap.SortedMap k ())
10−empty = SetWrapper Data.SortedMap.empty
12−insert : Ord k => k -> SortedSet k -> SortedSet k
13−insert k (SetWrapper m) = SetWrapper (Data.SortedMap.insert k () m)
15−delete : Ord k => k -> SortedSet k -> SortedSet k
16−delete k (SetWrapper m) = SetWrapper (Data.SortedMap.delete k m)
18−contains : Ord k => k -> SortedSet k -> Bool
19−contains k (SetWrapper m) = isJust (Data.SortedMap.lookup k m)
21−fromList : Ord k => List k -> SortedSet k
22−fromList l = SetWrapper (Data.SortedMap.fromList (map (\i => (i, ())) l))
24−toList : SortedSet k -> List k
25−toList (SetWrapper m) = map (\(i, _) => i) (Data.SortedMap.toList m)
27−implementation Foldable SortedSet where
28− foldr f e xs = foldr f e (Data.SortedSet.toList xs)