packages feed

invert-1.0.0.1: invert.cabal

cabal-version: 2.0

name: invert
version: 1.0.0.1
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
tested-with: GHC == 9.0.1, GHC == 8.10.3, GHC == 8.8.4, GHC == 8.6.5

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

extra-source-files: changelog.md

library
    default-language: Haskell2010
    ghc-options: -Wall
    exposed-modules: Invert, Invert.Reexport
    other-modules: Map, Vector
    hs-source-dirs: src
    default-extensions:
        NoImplicitPrelude
      , NamedFieldPuns
      , ExistentialQuantification
    build-depends:
        base ^>= 4.12 || ^>= 4.13 || ^>= 4.14 || ^>= 4.15
      , containers ^>= 0.6
      , hashable ^>= 1.2.7 || ^>= 1.3
      , unordered-containers ^>= 0.2.9
      , generic-deriving ^>= 1.14
      , vector ^>= 0.12

test-suite billing-codes-example
    type: exitcode-stdio-1.0
    default-language: Haskell2010
    ghc-options: -Wall
    main-is: billing-codes.hs
    hs-source-dirs: examples
    build-depends:
        base ^>= 4.12 || ^>= 4.13 || ^>= 4.14 || ^>= 4.15
      , invert

benchmark benchmarks
    default-language: Haskell2010
    default-extensions: NumericUnderscores
    type: exitcode-stdio-1.0
    hs-source-dirs: benchmarks
    main-is: bench.hs
    ghc-options: -O2 -Wall
    Build-Depends:
        base ^>= 4.12 || ^>= 4.13 || ^>= 4.14 || ^>= 4.15
      , criterion ^>= 1.5
      , invert