module YamlUnscrambler.AsciiAtto where import Data.Attoparsec.ByteString.Char8 import YamlUnscrambler.Model import YamlUnscrambler.Prelude integralScalar :: (Integral a, Bits a) => Signed -> NumeralSystem -> Parser a integralScalar :: forall a. (Integral a, Bits a) => Signed -> NumeralSystem -> Parser a integralScalar (Signed Bool isSigned) NumeralSystem numeralSystem = if Bool isSigned then 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 -> forall a. Integral a => Parser a decimal NumeralSystem HexadecimalNumeralSystem -> forall a. (Integral a, Bits a) => Parser a hexadecimal