От: | nikov | http://www.linkedin.com/in/nikov | |
Дата: | 13.05.09 17:37 | ||
Оценка: | 5 (1) |
permutations :: [a] -> [[a]]
permutations [] = [[]]
permutations xs = [x:p | (x,n) <- zip xs [0..], p <- let (l,r) = splitAt n xs in permutations $ l ++ tail r]
subsequences :: [a] -> [[a]]
subsequences = ([]:).(concatMap (tail.inits)).tails