ascii-numbers-1.2.0.0: ASCII representations of numbers
Safe HaskellSafe-Inferred
LanguageHaskell2010

ASCII.Hexadecimal

Synopsis

Read/show for numeric strings

Natural

showNatural :: HexStringSuperset string => Case -> Natural -> string Source #

Examples:

  • showNatural LowerCase 12 = "c"
  • showNatural UpperCase (256 + 12) = "10C"
  • showNatural UpperCase 0 = "0"

readNatural :: HexStringSuperset string => string -> Maybe Natural Source #

Examples:

  • readNatural "5" = Just 5
  • readNatural "-5" = Nothing
  • readNatural "1f" = Just 31
  • readNatural "1F" = Just 31
  • readNatural "xa" = Nothing
  • readNatural "" = Nothing

Integer

showInteger :: StringSuperset string => Case -> Integer -> string Source #

Examples:

  • showInteger LowerCase 12 = "c"
  • showInteger LowerCase (negate 12) = "-c"
  • showInteger UpperCase (256 + 12) = "10C"
  • showInteger UpperCase (negate (256 + 12)) = "-10C"
  • showInteger UpperCase 0 = "0"

readInteger :: StringSuperset string => string -> Maybe Integer Source #

Examples:

  • readInteger "5" = Just 5
  • readInteger "-5" = Just (-5)
  • readInteger "1f" = Just 31
  • readInteger "1F" = Just 31
  • readInteger "xa" = Nothing
  • readInteger "" = Nothing
  • readInteger "-" = Nothing

Integral

showIntegral :: (StringSuperset string, Integral number) => Case -> number -> string Source #

readIntegral :: (StringSuperset string, Integral number, Bits number) => string -> Maybe number Source #

Examples:

  • readIntegral "0014" = Just (20 :: Word8)
  • readIntegral "" = (Nothing :: Maybe Word8)
  • readIntegral "-4" = (Nothing :: Maybe Word8)
  • readIntegral "1234" = (Nothing :: Maybe Word8)

Various digit types

data HexChar Source #

The subset of ASCII used to represent hexadecimal numbers:

Instances

Instances details
HexCharSuperset HexChar Source # 
Instance details

Defined in ASCII.Hexadecimal

Data HexChar Source # 
Instance details

Defined in ASCII.Hexadecimal

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HexChar -> c HexChar #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c HexChar #

toConstr :: HexChar -> Constr #

dataTypeOf :: HexChar -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c HexChar) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c HexChar) #

gmapT :: (forall b. Data b => b -> b) -> HexChar -> HexChar #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HexChar -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HexChar -> r #

gmapQ :: (forall d. Data d => d -> u) -> HexChar -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> HexChar -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> HexChar -> m HexChar #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HexChar -> m HexChar #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HexChar -> m HexChar #

Bounded HexChar Source # 
Instance details

Defined in ASCII.Hexadecimal

Enum HexChar Source # 
Instance details

Defined in ASCII.Hexadecimal

Generic HexChar Source # 
Instance details

Defined in ASCII.Hexadecimal

Associated Types

type Rep HexChar :: Type -> Type #

Methods

from :: HexChar -> Rep HexChar x #

to :: Rep HexChar x -> HexChar #

Show HexChar Source # 
Instance details

Defined in ASCII.Hexadecimal

Eq HexChar Source # 
Instance details

Defined in ASCII.Hexadecimal

Methods

(==) :: HexChar -> HexChar -> Bool #

(/=) :: HexChar -> HexChar -> Bool #

Ord HexChar Source # 
Instance details

Defined in ASCII.Hexadecimal

Hashable HexChar Source # 
Instance details

Defined in ASCII.Hexadecimal

Methods

hashWithSalt :: Int -> HexChar -> Int #

hash :: HexChar -> Int #

HexStringSuperset [HexChar] Source # 
Instance details

Defined in ASCII.Hexadecimal

type Rep HexChar Source # 
Instance details

Defined in ASCII.Hexadecimal

type Rep HexChar = D1 ('MetaData "HexChar" "ASCII.Hexadecimal" "ascii-numbers-1.2.0.0-EgPb9BKveBi2bByYv4gh7X" 'False) ((((C1 ('MetaCons "Digit0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Digit1" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Digit2" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Digit3" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Digit4" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Digit5" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Digit6" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Digit7" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Digit8" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Digit9" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CapitalLetterA" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "CapitalLetterB" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CapitalLetterC" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CapitalLetterD" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CapitalLetterE" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CapitalLetterF" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "SmallLetterA" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SmallLetterB" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SmallLetterC" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "SmallLetterD" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SmallLetterE" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SmallLetterF" 'PrefixI 'False) (U1 :: Type -> Type))))))

data HexLetter Source #

Letters used as hexadecimal digits above 9, without a notion of case.

Instances

Instances details
Data HexLetter Source # 
Instance details

Defined in ASCII.Hexadecimal

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HexLetter -> c HexLetter #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c HexLetter #

toConstr :: HexLetter -> Constr #

dataTypeOf :: HexLetter -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c HexLetter) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c HexLetter) #

gmapT :: (forall b. Data b => b -> b) -> HexLetter -> HexLetter #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HexLetter -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HexLetter -> r #

gmapQ :: (forall d. Data d => d -> u) -> HexLetter -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> HexLetter -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> HexLetter -> m HexLetter #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HexLetter -> m HexLetter #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HexLetter -> m HexLetter #

Bounded HexLetter Source # 
Instance details

Defined in ASCII.Hexadecimal

Enum HexLetter Source # 
Instance details

Defined in ASCII.Hexadecimal

Generic HexLetter Source # 
Instance details

Defined in ASCII.Hexadecimal

Associated Types

type Rep HexLetter :: Type -> Type #

Show HexLetter Source # 
Instance details

Defined in ASCII.Hexadecimal

Eq HexLetter Source # 
Instance details

Defined in ASCII.Hexadecimal

Ord HexLetter Source # 
Instance details

Defined in ASCII.Hexadecimal

Hashable HexLetter Source # 
Instance details

Defined in ASCII.Hexadecimal

type Rep HexLetter Source # 
Instance details

Defined in ASCII.Hexadecimal

type Rep HexLetter = D1 ('MetaData "HexLetter" "ASCII.Hexadecimal" "ascii-numbers-1.2.0.0-EgPb9BKveBi2bByYv4gh7X" 'False) ((C1 ('MetaCons "LetterA" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LetterB" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LetterC" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "LetterD" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LetterE" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LetterF" 'PrefixI 'False) (U1 :: Type -> Type))))

data HexCharBreakdown Source #

Instances

Instances details
Data HexCharBreakdown Source # 
Instance details

Defined in ASCII.Hexadecimal

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HexCharBreakdown -> c HexCharBreakdown #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c HexCharBreakdown #

toConstr :: HexCharBreakdown -> Constr #

dataTypeOf :: HexCharBreakdown -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c HexCharBreakdown) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c HexCharBreakdown) #

gmapT :: (forall b. Data b => b -> b) -> HexCharBreakdown -> HexCharBreakdown #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HexCharBreakdown -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HexCharBreakdown -> r #

gmapQ :: (forall d. Data d => d -> u) -> HexCharBreakdown -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> HexCharBreakdown -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> HexCharBreakdown -> m HexCharBreakdown #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HexCharBreakdown -> m HexCharBreakdown #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HexCharBreakdown -> m HexCharBreakdown #

Bounded HexCharBreakdown Source #

Behaves the same as HexChar

Instance details

Defined in ASCII.Hexadecimal

Enum HexCharBreakdown Source #

Behaves the same as HexChar

Instance details

Defined in ASCII.Hexadecimal

Generic HexCharBreakdown Source # 
Instance details

Defined in ASCII.Hexadecimal

Associated Types

type Rep HexCharBreakdown :: Type -> Type #

Show HexCharBreakdown Source # 
Instance details

Defined in ASCII.Hexadecimal

Eq HexCharBreakdown Source # 
Instance details

Defined in ASCII.Hexadecimal

Ord HexCharBreakdown Source # 
Instance details

Defined in ASCII.Hexadecimal

Hashable HexCharBreakdown Source # 
Instance details

Defined in ASCII.Hexadecimal

type Rep HexCharBreakdown Source # 
Instance details

Defined in ASCII.Hexadecimal

Monomorphic character conversions

HexLetter ↔ D16

HexLetter ↔ HexChar

HexChar ↔ ASCII Char

HexChar ↔ D16

HexChar ↔ HexCharBreakdown

Hexadecimal character superset classes

Of hex character

class HexCharSuperset char where Source #

Minimal complete definition

fromHexChar, (isHexChar, toHexCharUnsafe | toHexCharMaybe)

Of hex character lists

class HexStringSuperset string where Source #

Instances

Instances details
HexStringSuperset Builder Source # 
Instance details

Defined in ASCII.Hexadecimal

HexStringSuperset ByteString Source # 
Instance details

Defined in ASCII.Hexadecimal

HexStringSuperset ByteString Source # 
Instance details

Defined in ASCII.Hexadecimal

HexStringSuperset Text Source # 
Instance details

Defined in ASCII.Hexadecimal

HexStringSuperset Builder Source # 
Instance details

Defined in ASCII.Hexadecimal

HexStringSuperset Text Source # 
Instance details

Defined in ASCII.Hexadecimal

HexStringSuperset char => HexStringSuperset (ASCII char) Source # 
Instance details

Defined in ASCII.Hexadecimal

HexStringSuperset [Char] Source # 
Instance details

Defined in ASCII.Hexadecimal

HexStringSuperset [HexChar] Source # 
Instance details

Defined in ASCII.Hexadecimal

HexStringSuperset [Char] Source # 
Instance details

Defined in ASCII.Hexadecimal

Character/number conversions

Natural ↔ HexChar

Natural ↔ D16

Integer ↔ HexChar

Integer ↔ D16