I\'m not able to find an effective way to pick out all permutations of 4 elements from a list of 9 elements in Haskell. The python-way to do the same thing:
How about this
import Data.List (delete)
perms :: (Eq a) => Int -> [a] -> [[a]]
perms 0 _ = [[]]
perms _ [] = [[]]
perms n xs = [ (x:ys) | x <- xs, ys <- perms (n-1) (delete x xs) ]
Basically, it says, a permutation of n elements from a set is, pick any element as the first element of the result, then the rest is a permutation of n-1 elements from the rest of the set. Plus some base cases. Assumes that elements in the list are unique.