пожалуйста, киньте ссылку на статейку по комбинаторике в хаскеле (в частности нужно декартово произведение, создание всех возможных множеств, состоящих из элементов данного и т.д.)
>декартово произведение
f1 xs ys = [(x, y) | x <- xs, y <- ys]
>создание всех возможных множеств, состоящих из элементов данного
f2 [] = [[]]
f2 xs = [x : ps | x <- xs, ps <- f2 ( xs\\[x])]
>и т.д.
ммм?