The permutations function returns the list of all permutations of the argument.
> permutations "abc" == ["abc","bac","cba","bca","cab","acb"]

Sequence a set of Alternative actions in each possible order, based on "Parsing Permutation Phrases", by Arthur Baars, Andres Loeh and S. Doaitse Swierstra, *Haskell Workshop 2001*. This is particularly useful for constructing a parser for permutations of elements. This version has a slightly different interface from the paper.
Version 0.0.0.0

This library includes data types for storing permutations and combinations. It implements pure and impure types, the latter of which can be modified in-place. The library uses aggressive inlining and MutableByteArray#s internally, so it is very efficient.
The main utility of the library is converting between the linear representation of a permutation and a sequence of swaps. This allows, for instance, applying a permutation or its inverse to an array with O(1) memory use.
Much of the interface for the library is based on the permutation and combination functions in the GNU Scientific Library (GSL).
Version 0.4.1