packages feed

invert-1.0.0.2: invert.cabal

cabal-version: 3.0

name: invert
version: 1.0.0.2
synopsis: Automatically generate a function’s inverse
category: Functions

description:
    This library deals with computing a function’s inverse.
    This is, of course, not possible in general, so the
    applicability of this library comes with some caveats:

      * The function’s domain must be enumerable, and
        preferably rather small. We provide a few suggestions
        and utilities for how to enumerate the domain.
      * The function’s codomain must belong to the @Eq@ class.
        An @Ord@ or @Hashable@ instance is also nice, to
        accommodate a data structure for efficient lookups.
      * The functions for inverting injections, surjections,
        and bijections require some care to use correctly,
        because the library does not verify these properties.

    The main purpose of this library is to provide documentation
    and convenience. It does not contain a great quantity of code,
    so a user hesitant to incur a dependency on the package might
    well choose only to read and borrow its techniques.

build-type: Simple

author:     Chris Martin
maintainer: Chris Martin, Julie Moronuki

homepage:    https://github.com/typeclasses/invert
bug-reports: https://github.com/typeclasses/invert/issues

license: Apache-2.0
license-file: license.txt

common base
    default-language: Haskell2010
    ghc-options: -Wall
    build-depends:
        base ^>= 4.12 || ^>= 4.13 || ^>= 4.14 || ^>= 4.15 || ^>= 4.16
      , containers ^>= 0.6
      , hashable ^>= 1.2.7 || ^>= 1.3 || ^>= 1.4
      , unordered-containers ^>= 0.2.9
      , generic-deriving ^>= 1.14
      , vector ^>= 0.12

library
    import: base
    exposed-modules: Invert, Invert.Reexport
    other-modules: Map, Vector
    hs-source-dirs: src
    default-extensions:
        NoImplicitPrelude
      , NamedFieldPuns
      , ExistentialQuantification

test-suite billing-codes-example
    import: base
    type: exitcode-stdio-1.0
    main-is: billing-codes.hs
    hs-source-dirs: examples
    build-depends: invert

benchmark invert-benchmark
    import: base
    default-extensions: NumericUnderscores
    type: exitcode-stdio-1.0
    hs-source-dirs: benchmarks
    main-is: bench.hs
    ghc-options: -O2
    build-depends: invert
    build-depends: criterion ^>= 1.5