cabal-version: 3.0 name: invert version: 1.0.0.2 x-revision: 3 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 || ^>= 4.17 , containers ^>= 0.6 , hashable ^>= 1.2.7 || ^>= 1.3 || ^>= 1.4 , unordered-containers ^>= 0.2.9 , generic-deriving ^>= 1.14 , vector ^>= 0.12 || ^>= 0.13 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 || ^>= 1.6