typed-digits: Digits, indexed by their base at the type level

[ data, library, mit ] [ Propose Tags ]

Digits, indexed by their base at the type level.

Please see the README, for more details, available on GitHub at https://github.com/arranstewart/hs-typed-digits#readme.

[Skip to Readme]
Versions [faq]
Change log ChangeLog.md
Dependencies base (>=4.7 && <5), nats, singletons (>=2.3) [details]
License MIT
Copyright 2019 Arran Stewart
Author Arran Stewart
Maintainer haskell-maintenance@arranstewart.info
Category Data
Home page https://github.com/arranstewart/hs-typed-digits#readme
Bug tracker https://github.com/arranstewart/hs-typed-digits/issues
Source repo head: git clone https://github.com/arranstewart/hs-typed-digits
Uploaded by arran at 2019-12-12T10:54:41Z
Distributions NixOS:
Downloads 190 total (18 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]





Enable more compilation warnings


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees

Readme for typed-digits-

[back to package description]

Build Status Hackage


Provides a Digit type, with the base of the digit available as a type-level Nat. Thus, it can be guaranteed at compile-time that digits of different bases can't be added together.

Usage example

For more convenient provision of type-level parameters, it's recommended to use the DataKinds and TypeApplications extensions. Then, you can give type-level parameters using @, as seen below, instead of giving the full type.

>>> :set -XDataKinds -XTypeApplications
>>> import Data.TypedDigits
>>> let d = digit @9 3
>>> d
Just 3 (base 9)

Source tree contents

  • src: Library source files
  • test: Unit tests
  • doctest: Documentation tests using doctest