The permutation package

[Tags:bsd3, library]

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).


Versions 0.1, 0.2, 0.2.1, 0.3, 0.4, 0.4.1, 0.5.0,,,,,
Change log NEWS
Dependencies base, ghc-prim [details]
License BSD3
Copyright (c) 2008. Patrick Perry <>
Author Patrick Perry
Maintainer Patrick Perry <>
Category Data Structures, Math
Home page
Uploaded Sun Jan 25 04:32:18 UTC 2009 by PatrickPerry
Distributions LTSHaskell:, NixOS:, Tumbleweed:
Downloads 3983 total (42 in the last 30 days)
0 []
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees