Skip to content

Instantly share code, notes, and snippets.

@benjamin-hodgson
Last active May 25, 2018 14:10
Show Gist options
  • Save benjamin-hodgson/418672227d0cbaa6f1cb47fd9265d066 to your computer and use it in GitHub Desktop.
Save benjamin-hodgson/418672227d0cbaa6f1cb47fd9265d066 to your computer and use it in GitHub Desktop.
permutations :: [a] -> [[a]]
permutations [] = [[]]
permutations (x:xs) = concatMap (insertions x) (permutations xs)
where
insertions x [] = [[x]]
insertions x zs@(y:ys) = (x:zs) : [y:ins | ins <- insertions x ys]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment