Re: Data.List permutations

2009-08-05 Thread Yitzchak Gale
Hi Slavomir, Slavomir Kaslev wrote: inter x [] = [[x]] inter x yys@(y:ys) = [x:yys] ++ map (y:) (inter x ys) perm [] = [[]] perm (x:xs) = concatMap (inter x) (perm xs) I was surprised to find that not only my version is much simpler from the one in Data.List but it also performs better.

Re: Data.List permutations

2009-08-05 Thread Slavomir Kaslev
Thank you for the comprehensive reply Yitzchak. On Wed, Aug 5, 2009 at 2:22 PM, Yitzchak Galeg...@sefer.org wrote: Hi Slavomir, Slavomir Kaslev wrote: inter x [] = [[x]] inter x yys@(y:ys) = [x:yys] ++ map (y:) (inter x ys) perm [] = [[]] perm (x:xs) = concatMap (inter x) (perm xs) I