type-level-numbers: Type level numbers implemented using type families.

[ bsd3, library, type-system ] [ Propose Tags ]

This is type level numbers implemented using type families. Natural numbers use binary encoding. With default context stack numbers up to 2^18-1 could 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.

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.1.0.4, 0.1.1.0, 0.1.1.1, 0.1.1.2
Change log ChangeLog
Dependencies base (>=3 && <5), template-haskell (>2.0) [details]
License BSD-3-Clause
Author Alexey Khudyakov <alexey.skladnoy@gmail.com>
Maintainer Alexey Khudyakov <alexey.skladnoy@gmail.com>
Category Type System
Bug tracker https://github.com/Shimuuar/type-level-numbers/issues
Source repo head: git clone https://github.com/Shimuuar/type-level-numbers
Uploaded by AlexeyKhudyakov at 2022-06-15T10:55:43Z
Distributions Debian:0.1.1.1, LTSHaskell:0.1.1.2, NixOS:0.1.1.2, Stackage:0.1.1.2
Reverse Dependencies 3 direct, 5 indirect [details]
Downloads 7325 total (33 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2022-06-15 [all 1 reports]