hmt-0.20: Music/Theory/Set/Set.hs
-- | Set operations on 'Set's.
module Music.Theory.Set.Set where
import qualified Data.Set as S {- containers -}
import qualified Music.Theory.Set.List as L {- hmt -}
set :: (Ord a) => [a] -> S.Set a
set = S.fromList
-- > powerset (set [1,2])
powerset :: Ord a => S.Set a -> S.Set (S.Set a)
powerset = S.fromList . map S.fromList . L.powerset . S.elems
pairs :: Ord a => S.Set a -> S.Set (a,a)
pairs = set . L.pairs . S.elems