arith-encode: A practical arithmetic encoding (aka Godel numbering) library.

[ bsd3, data, deprecated, library, serialization, test, testing ] [ Propose Tags ]
Deprecated in favor of cantor-pairing, finitary, smallcheck

A library providing tools and various schemes for encoding arbitrary datatypes as natural numbers. The underlying theory is that of isomorphisms with the natural numbers (known as Godel numbering). The library provides functionality for defining multiple such encodings for a given datatype, as well as a collection of stock encodings and combinators which can be used to build more complex encodings.

This has various uses, among them binary serialization/deserialization and enumeration testing.


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

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.6.0, 0.7.0, 1.0.0, 1.0.1, 1.0.2
Dependencies array, base (>=4.9 && <4.15), binary, containers, hashable, integer-logarithms, integer-roots, unordered-containers [details]
License BSD-3-Clause
Copyright Copyright (c) 2014 Eric McCorkle. All rights reserved.
Author Eric McCorkle
Maintainer Eric McCorkle <>, Andrew Lelechenko <>
Revised Revision 1 made by Bodigrim at 2020-12-30T21:03:37Z
Category Data, Serialization, Test, Testing
Home page
Bug tracker
Source repo head: git clone
Uploaded by Bodigrim at 2020-02-09T11:39:04Z
Reverse Dependencies 2 direct, 0 indirect [details]
Downloads 5696 total (23 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2020-02-09 [all 1 reports]