packages feed

permutation-0.2: permutation.cabal

name:            permutation
version:         0.2
homepage:        http://stat.stanford.edu/~patperry/code/permutation
synopsis:        A library for representing and applying permutations.
description:
    This library includes data types for storing permutations.  It
    implements pure and impure types, the latter which can be modified
    in-place.  The main utility of the library is converting between
    the linear representation of a permutation to 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 
    functions in the GNU Scientific Library (GSL).
    .
category:        Data Structures, Math
license:         BSD3
license-file:    LICENSE
copyright:       (c) 2008. Patrick Perry <patperry@stanford.edu>
author:          Patrick Perry
maintainer:      Patrick Perry <patperry@stanford.edu>
cabal-version: >= 1.2.0
build-type:      Custom
tested-with:     GHC ==6.8.2, GHC ==6.10.1

extra-source-files:  examples/Enumerate.hs
                     tests/Test/Permute.hs
                     tests/Driver.hs
                     tests/Main.hs
                     tests/Pure.hs
                     tests/ST.hs
                     tests/Makefile

library
    hs-source-dirs:  lib
    exposed-modules: Data.Permute
                     Data.Permute.MPermute
                     Data.Permute.IO
                     Data.Permute.ST
                     
    other-modules:   Data.IntArray
                     Data.Permute.Base
                     Data.Permute.IOBase

    build-depends:   base
    extensions:      MultiParamTypeClasses, FunctionalDependencies, 
                     FlexibleContexts, Rank2Types, MagicHash, UnboxedTuples

    ghc-options:     -Wall

    if impl(ghc >= 6.9)
      build-depends: ghc-prim