module YamlUnscrambler.AsciiAtto where import Attoparsec.Time.ByteString import Data.Attoparsec.ByteString.Char8 import YamlUnscrambler.Model import YamlUnscrambler.Prelude integralScalar :: (Integral a, Bits a) => Signed -> NumeralSystem -> Parser a integralScalar :: Signed -> NumeralSystem -> Parser a integralScalar (Signed Bool isSigned) NumeralSystem numeralSystem = if Bool isSigned then Parser a -> Parser a forall a. Num a => Parser a -> Parser a signed Parser a numeralParser else Parser a numeralParser where numeralParser :: Parser a numeralParser = case NumeralSystem numeralSystem of NumeralSystem DecimalNumeralSystem -> Parser a forall a. Integral a => Parser a decimal NumeralSystem HexadecimalNumeralSystem -> Parser a forall a. (Integral a, Bits a) => Parser a hexadecimal