d10
Version 1.0.0.2 revision 1 uploaded by chris_martin.
Package meta
- Synopsis
- Digits 0-9
- Description
Data types representing the digits zero through nine.
Modules
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 forChar
, 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 theNum
class, where the values are restricted to numbers betweenfromInteger 0
andfromInteger 9
D10.Safe - Defines a
D10
type asD0 | 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:
Quasi-quoters
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 theD10
types defined in these modules have unsafe constructors, and the quasi-quoters provide compile-time assurance that we never construct aD10
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|]
.
- Author
- Chris Martin
- Bug reports
- https://github.com/typeclasses/d10/issues
- Category
- Data
- Copyright
- 2018-2021 Mission Valley Software LLC
- Homepage
- https://github.com/typeclasses/d10
- Maintainer
- Chris Martin, Julie Moronuki
- Package URL
- n/a
- Stability
- n/a