# The permutation package

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

## Properties

Versions | 0.1, 0.2, 0.2.1, 0.3, 0.4, 0.4.1, 0.5.0, 0.5.0.1, 0.5.0.2, 0.5.0.3, 0.5.0.4, 0.5.0.5 |
---|---|

Change log | None available |

Dependencies | base (<4.8), ghc-prim [details] |

License | BSD3 |

Copyright | (c) 2008. Patrick Perry <patperry@stanford.edu> |

Author | Patrick Perry |

Maintainer | Sophie Taylor <sophie@traumapony.org> |

Category | Data Structures, Math |

Home page | https://github.com/spacekitteh/permutation |

Uploaded | Sun Apr 13 16:38:56 UTC 2014 by spacekitteh |

Distributions | NixOS:0.5.0.5, Stackage:0.5.0.5 |

Downloads | 3381 total (28 in last 30 days) |

Votes | |

Status | Docs not available [build log] All reported builds failed as of 2015-11-24 [all 5 reports] |

## Modules

*Data*- Data.Choose
- Data.Choose.IO
- Data.Choose.MChoose
- Data.Choose.ST

- Data.Permute
- Data.Permute.IO
- Data.Permute.MPermute
- Data.Permute.ST

- Data.Choose

## Downloads

- permutation-0.5.0.2.tar.gz [browse] (Cabal source package)
- Package description (included in the package)

#### Maintainers' corner

For package maintainers and hackage trustees