RosettaCodeData/Task/Power-set/Haskell/power-set-1.hs

9 lines
215 B
Haskell

import Data.Set
import Control.Monad
powerset :: Ord a => Set a -> Set (Set a)
powerset = fromList . fmap fromList . listPowerset . toList
listPowerset :: [a] -> [[a]]
listPowerset = filterM (const [True, False])