2009-05-02 powerset haskell import Data.List (inits, tails) inits1, tails1 :: [a] -> [[a]] inits1 = tail . inits tails1 = init . tails segs1, powerSet :: [a] -> [[a]] segs1 = tails1 xs >>= inits1 powerSet xs = []: if null xs then [] else segs1 xs