Scrapbook-0.4.0: code examples
Copyright© Frank Jung 2020
LicenseGPL-3
Safe HaskellSafe-Inferred
LanguageHaskell2010

Permutation

Description

Synopsis

Documentation

inserts :: a -> [a] -> [[a]] Source #

Insert character into list at each location.

Example:

>>> inserts 'a' "bc"
["abc","bac","bca"]

perms1 :: [a] -> [[a]] Source #

Generate permutations using list comprehensions.

Example:

>>> perms1 "abc"
["abc","bac","bca","acb","cab","cba"]

perms2 :: [a] -> [[a]] Source #

Generate permutations using list comprehensions.

Example:

>>> perms2 "abc"
["abc","acb","bac","bca","cab","cba"]

perms3 :: [a] -> [[a]] Source #

Use fold to generate permutaions.

picks :: [a] -> [(a, [a])] Source #

Pick each member from list return tuple of member and items remaining.

Example:

>>> picks "abc"
[('a',"bc"),('b',"ac"),('c',"ab")]