File invertible.cabal of Package ghc-invertible
name: invertible
version: 0.2.0.2
x-revision: 1
synopsis: bidirectional arrows, bijective functions, and invariant functors
description:
Representations and operations for bidirectional arrows (total isomorphisms: an
arrow paired with its inverse). Classes for invariant functors and monoidal
functors. Includes a number of useful bijections and operations, as well as
interoperability with related packages.
.
Most users will want to import one or more of "Data.Invertible" qualified, "Control.Invertible.Monoidal" unqualified, and any additional compatibility modules.
license: BSD3
license-file: LICENSE
author: Dylan Simon
maintainer: dylan@dylex.net
copyright: 2016
category: Data, Control, Composition
build-type: Simple
cabal-version: >=1.10
tested-with: GHC == 7.10.3, GHC == 8.0.1
source-repository head
type: git
location: https://github.com/dylex/invertible
flag arrows
description: Support the arrows package
manual: True
default: False
flag invariant
description: Support the invariant package
manual: True
default: True
flag lens
description: Support the lens package
manual: True
default: True
flag partial-isomorphisms
description: Support the partial-isomorphisms package
manual: True
default: True
flag Piso
description: Support the Piso package
manual: True
default: False
flag semigroupoids
description: Support the semigroupoids package
manual: True
default: True
flag TypeCompose
description: Support the TypeCompose package
manual: True
default: True
library
other-modules:
Data.Invertible.Internal
exposed-modules:
Data.Invertible.Bijection
Data.Invertible.TH
Data.Invertible.Bits
Data.Invertible.Bool
Data.Invertible.Coerce
Data.Invertible.Complex
Data.Invertible.Either
Data.Invertible.Enum
Data.Invertible.Function
Data.Invertible.Functor
Data.Invertible.List
Data.Invertible.Maybe
Data.Invertible.Monad
Data.Invertible.Monoid
Data.Invertible.Ord
Data.Invertible.Tuple
Data.Invertible.Prelude
Data.Invertible
Control.Invertible.BiArrow
Control.Invertible.MonadArrow
Control.Invertible.Functor
Control.Invertible.Monoidal
Control.Invertible.Monoidal.Free
build-depends:
base >= 4.8 && <5,
transformers,
haskell-src-meta >= 0.6 && < 0.9,
template-haskell == 2.*
default-language: Haskell2010
ghc-options: -Wall
if flag(arrows)
build-depends: arrows
if flag(invariant)
exposed-modules: Data.Invertible.Invariant
build-depends: invariant
if flag(lens)
exposed-modules: Data.Invertible.Lens
build-depends: lens == 4.*
if flag(partial-isomorphisms)
exposed-modules: Data.Invertible.PartialIsomorphism
if impl(ghc >= 8)
build-depends: partial-isomorphisms > 0.2
else
build-depends: partial-isomorphisms
if flag(Piso)
exposed-modules: Data.Invertible.Piso
if impl(ghc >= 8)
build-depends: Piso > 0.1
else
build-depends: Piso
if flag(semigroupoids)
exposed-modules: Data.Invertible.Semigroupoid
build-depends: semigroupoids >= 4
if flag(TypeCompose)
exposed-modules: Data.Invertible.TypeCompose
build-depends: TypeCompose >= 0.3
test-suite tests
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Main.hs
other-modules:
FreeMonoidal
default-language: Haskell2010
ghc-options: -Wall
build-depends:
base,
transformers,
QuickCheck,
invertible