module Data.Digit.Enum
(
enumBinaryNoZero
, enumBinary
, enumOctalNoZero
, enumOctal
, enumDecimalNoZero
, enumDecimal
, enumHexadecimalNoZero
, enumHexadecimal
, enumHEXADECIMALNoZero
, enumHEXADECIMAL
)
where
import Control.Lens.Review ((#))
import Data.Digit.Binary
import Data.Digit.Decimal
import Data.Digit.Hexadecimal.LowerCase
import Data.Digit.Hexadecimal.UpperCase
import Data.Digit.Octal
enumBinaryNoZero :: BinaryNoZero d => [d]
enumBinaryNoZero = [d1 # ()]
enumBinary :: Binary d => [d]
enumBinary = [d0 # (), d1 # ()]
enumOctalNoZero :: OctalNoZero d => [d]
enumOctalNoZero =
[ d1 # ()
, d2 # ()
, d3 # ()
, d4 # ()
, d5 # ()
, d6 # ()
, d7 # ()
]
enumOctal :: Octal d => [d]
enumOctal =
[ d0 # ()
, d1 # ()
, d2 # ()
, d3 # ()
, d4 # ()
, d5 # ()
, d6 # ()
, d7 # ()
]
enumDecimalNoZero :: DecimalNoZero d => [d]
enumDecimalNoZero =
[ d1 # ()
, d2 # ()
, d3 # ()
, d4 # ()
, d5 # ()
, d6 # ()
, d7 # ()
, d8 # ()
, d9 # ()
]
enumDecimal :: Decimal d => [d]
enumDecimal =
[ d0 # ()
, d1 # ()
, d2 # ()
, d3 # ()
, d4 # ()
, d5 # ()
, d6 # ()
, d7 # ()
, d8 # ()
, d9 # ()
]
enumHexadecimalNoZero :: HexadecimalNoZero d => [d]
enumHexadecimalNoZero =
[ d1 # ()
, d2 # ()
, d3 # ()
, d4 # ()
, d5 # ()
, d6 # ()
, d7 # ()
, d8 # ()
, d9 # ()
, da # ()
, db # ()
, dc # ()
, dd # ()
, de # ()
, df # ()
]
enumHexadecimal :: Hexadecimal d => [d]
enumHexadecimal =
[ d0 # ()
, d1 # ()
, d2 # ()
, d3 # ()
, d4 # ()
, d5 # ()
, d6 # ()
, d7 # ()
, d8 # ()
, d9 # ()
, da # ()
, db # ()
, dc # ()
, dd # ()
, de # ()
, df # ()
]
enumHEXADECIMALNoZero :: HEXADECIMALNoZero d => [d]
enumHEXADECIMALNoZero =
[ d1 # ()
, d2 # ()
, d3 # ()
, d4 # ()
, d5 # ()
, d6 # ()
, d7 # ()
, d8 # ()
, d9 # ()
, dA # ()
, dB # ()
, dC # ()
, dD # ()
, dE # ()
, dF # ()
]
enumHEXADECIMAL :: HEXADECIMAL d => [d]
enumHEXADECIMAL =
[ d0 # ()
, d1 # ()
, d2 # ()
, d3 # ()
, d4 # ()
, d5 # ()
, d6 # ()
, d7 # ()
, d8 # ()
, d9 # ()
, dA # ()
, dB # ()
, dC # ()
, dD # ()
, dE # ()
, dF # ()
]