diff options
author | panne <unknown> | 2005-01-15 18:44:48 +0000 |
---|---|---|
committer | panne <unknown> | 2005-01-15 18:44:48 +0000 |
commit | 914ccdce1b9923f7fc8f75b3bdb188192291ac9b (patch) | |
tree | 975e0562f4810a89fa7fcc181885f99bd5f5f3c7 /src/Set.hs | |
parent | e8f54f255a7295fc0da368390706b1ae5d90268c (diff) |
[haddock @ 2005-01-15 18:44:45 by panne]
Make Haddock compile again after the recent base package changed. The Map/Set
legacy hell has been factored out, so that all modules can simply use the new
non-deprecated interfaces. Probably a lot of things can be improved by a little
bit of Map/Set/List algebra, this can be done later if needed.
Small note: Currently the list of instances in HTML code is reversed. This will
hopefully be fixed later.
Diffstat (limited to 'src/Set.hs')
-rw-r--r-- | src/Set.hs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/Set.hs b/src/Set.hs new file mode 100644 index 00000000..271828e8 --- /dev/null +++ b/src/Set.hs @@ -0,0 +1,36 @@ +module Set ( + Set, + member, + empty, singleton, delete, + union, unions, + elems, fromList +) where + +#if __GLASGOW_HASKELL__ < 503 +import Set +#else +import Data.Set +#endif + +#if __GLASGOW_HASKELL__ < 603 +member :: Ord a => a -> Set a -> Bool +member = elementOf + +empty :: Set a +empty = emptySet + +singleton :: a -> Set a +singleton = unitSet + +delete :: Ord a => a -> Set a -> Set a +delete = flip delFromSet + +unions :: Ord a => [Set a] -> Set a +unions = unionManySets + +elems :: Set a -> [a] +elems = setToList + +fromList :: Ord a => [a] -> Set a +fromList = mkSet +#endif |