packages feed

enumeration-0.2.0: enumeration.cabal

name: enumeration
version: 0.2.0
cabal-version: >=1.16
license: BSD3
license-file: LICENSE
copyright: Copyright (c) 2014 Eric McCorkle.  All rights reserved.
maintainer: Eric McCorkle <emc2@metricspace.net>, Andrew Lelechenko <andrew.lelechenko@gmail.com>
author: Eric McCorkle
stability: Beta
homepage: https://github.com/emc2/enumeration
bug-reports: https://github.com/emc2/enumeration/issues
synopsis: A practical API for building recursive enumeration
          procedures and enumerating datatypes.
description:
  A library providing tools for building enumeration procedures for recursively-
  enumerable datatypes.  This is built atop the arith-encode library, and makes
  use of the natural number isomorphisms it provides to represent individual
  decisions in the enumeration procedure.  As such, each enumeration result is
  denoted by a unique path, consisting of a sequence of natural numbers.  An
  enumeration procedure is simply a (partial) mapping between sequences
  and a given datatype.
  .
  The library provides functionality for constructing enumeration procedures,
  as well as facilities for performing enumeration according to various search
  strategies (depth-first, breadth-first, etc).  These procedures can also be
  "warm-started" using a path or a set of paths.  Obvious applications include
  exhaustive search, testing, automated proving, and others.
  .
  Additionally, as a path is simply a sequence of natural numbers, an
  enumeration procedure can double as a binary serializer/deserializer.  For
  well-behaved enumeration procedures (ie. those where the mapping is an
  isomorphism), the resulting binary format should be very nearly succinct.
category: Data, Serialization, Test, Testing
build-type: Simple
tested-with: GHC==8.8.1, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2

source-repository head
  type: git
  location: git@github.com:Bodigrim/enumeration.git

library
  exposed-modules:
    Data.Enumeration
    Data.Enumeration.Binary
    Data.Enumeration.Traversal
  hs-source-dirs: src
  other-modules:
    Data.Enumeration.Traversal.Class
  default-language: Haskell2010
  build-depends:
    base >=4.9.0 && <5,
    arith-encode,
    binary,
    containers,
    heap,
    integer-logarithms

test-suite UnitTest
  type: exitcode-stdio-1.0
  main-is: UnitTest.hs
  other-modules:
    Tests.Data
    Tests.Data.Enumeration
    Tests.Data.Enumeration.Binary
    Tests.Data.Enumeration.Traversal
  hs-source-dirs: test
  default-language: Haskell2010
  build-depends:
    base >=4.9.0 && <5,
    arith-encode,
    binary,
    enumeration,
    HUnit-Plus