d10: Digits 0-9

[ data, library, mit ] [ Propose Tags ]

Data types representing the digits zero through nine.


Each of the following modules defines a different type named D10, all of which are different representations of the same concept:

  • D10.Char - Defines a D10 type as a newtype for Char, where the values are restricted to characters between '0' and '9'

  • D10.Num - Defines a D10 type as a newtype for any type with an instance of the Num class, where the values are restricted to numbers between fromInteger 0 and fromInteger 9

  • D10.Safe - Defines a D10 type as D0 | D1 | D2 | ... | D9

The Arithmetic modules provide infix operators (+), (-), (*) for modular arithmetic:

The following modules export constructors that can be used incorrectly:

Functions to test whether values of various types represent digits in the range 0 to 9:


  • The D10.Char and D10.Num modules include quasi-quoters named d10 used to express single digits. For example, 7 can be written as [d10|7|]. This is an important feature because the D10 types defined in these modules have unsafe constructors, and the quasi-quoters provide compile-time assurance that we never construct a D10 that represents a value outside the range 0 to 9.

  • D10.Char, D10.Num, and D10.Safe include quasi-quoters named d10list to express lists of digits. For example, [4, 5, 6] can be written as [d10list|456|].


Maintainer's Corner

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS],,,,,,,, 0.3,, 1,,,
Dependencies base (>=4.13 && <4.17), d10, hashable (>=1.3 && <1.5), hedgehog (>=1.0.1 && <1.2), template-haskell (>=2.15 && <2.19) [details]
License MIT
Copyright 2018-2021 Mission Valley Software LLC
Author Chris Martin
Maintainer Chris Martin, Julie Moronuki
Category Data
Home page https://github.com/typeclasses/d10
Bug tracker https://github.com/typeclasses/d10/issues
Source repo head: git clone https://github.com/typeclasses/d10
Uploaded by chris_martin at 2022-03-22T17:19:29Z
Distributions LTSHaskell:, NixOS:, Stackage:
Downloads 3572 total (32 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user [build log]
Last success reported on 2022-03-22 [all 1 reports]