Type level numbers implemented using type families.

Version on this page:
LTS Haskell 13.23:
Stackage Nightly 2019-05-27:
Latest on Hackage:

See all snapshots type-level-numbers appears in

BSD-3-Clause licensed and maintained by Alexey Khudyakov

Module documentation for

There are no documented modules for this package.

This is type level numbers implemented using type families. Natural numbers use binary encoding. With default context stack numbers up to 2^18-1 coudl be represented. Signed integer numbers use balanced ternary encoding.

Package is structured as folows:

  • [TypeLevel.Number.Classes] contain generic type families such as Add

  • [TypeLevel.Number.Nat] natural numbers implemented using binary encoding

  • [TypeLevel.Number.Int] signed integers implemented using balanced ternary encoding

  • [TypeLevel.Boolean] type level booleans

So far comparison of numbers, subtraction and multiplication of numbers are supported.


Changes in

* Type level addition is fixed for GHC 7.6

* Test suite added to cabal file

Changes in

* withNat, withInt, SomeNat and SomeInt added.

Changes in

* Fix build for GHC 7.4

Changes in

* Fix URL in cabal file

Changes in

* Workaround for GHC bug #4364 (Build failure on GHC 7.0)
Depends on 2 packages:
Used by 1 package:
comments powered byDisqus