@hackage / type-level-numbers

Type level numbers implemented using type families.

Latest0.1.1.2

About

Metadata

  • Last updated , by AlexeyKhudyakov
  • License BSD-3-Clause
  • Categories Type System
  • Maintained by: Alexey Khudyakov <alexey.skladnoy@gmail.com>

  • Lottery factor: 0

Links

Installation

Readme

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.