enumeration: A practical API for building recursive enumeration procedures and enumerating datatypes.
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.
This is the first release candidate for 1.0 (initial release)
Downloads
- enumeration-0.1.0.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.1.0, 0.2.0 |
---|---|
Dependencies | arith-encode, arithmoi (<0.5), base (>=4.4.0 && <5), binary, Cabal (>=1.16.0), containers, heap [details] |
License | BSD-3-Clause |
Copyright | Copyright (c) 2014 Eric McCorkle. All rights reserved. |
Author | Eric McCorkle |
Maintainer | Eric McCorkle <emc2@metricspace.net> |
Revised | Revision 1 made by Bodigrim at 2020-11-07T13:38:42Z |
Category | Data, Serialization, Test, Testing |
Home page | https://github.com/emc2/enumeration |
Bug tracker | https://github.com/emc2/enumeration/issues |
Source repo | head: git clone git@github.com:emc2/enumeration.git |
Uploaded | by emc2 at 2014-10-16T13:09:43Z |
Distributions | |
Reverse Dependencies | 1 direct, 0 indirect [details] |
Downloads | 3757 total (7 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |