Source/Packages

Compiler.Parser

packages/compiler/src/Compiler/Parser.alpha

5,902 lines337 declarations199.2 KiBSHA-256 6d135c41813d

def · lines 1508–1537

foldNaturalLiteralDigits

Full file
1508def foldNaturalLiteralDigits =
1509  (lambda unrestricted radix : (family IntegerLiteralRadix) .
1510    (lambda unrestricted digits : Bytes .
1511      (app
1512        (bytes-eliminate
1513          (lambda unrestricted remaining : Bytes .
1514            (pi unrestricted accumulator : Nat . (family NaturalLiteralParseResult)))
1515          (lambda unrestricted accumulator : Nat .
1516            (constructor NaturalLiteralParseResult NaturalLiteralParsed accumulator))
1517          (lambda unrestricted head : Byte .
1518            (lambda unrestricted tail : Bytes .
1519              (lambda unrestricted continue : (pi unrestricted accumulator : Nat . (family NaturalLiteralParseResult)) .
1520                (lambda unrestricted accumulator : Nat .
1521                  (eliminate
1522                    IntegerLiteralDigitResult
1523                    (lambda unrestricted value : (family IntegerLiteralDigitResult) .
1524                      (family NaturalLiteralParseResult))
1525                    (Compiler.IntegerLiteral/integerLiteralDecodeDigit radix head)
1526                    (branch
1527                      IntegerLiteralDigitValue
1528                      digit
1529                      .
1530                      (continue (addNatural (scaleNaturalLiteral radix accumulator) digit)))
1531                    (branch
1532                      IntegerLiteralDigitFailed
1533                      failure
1534                      .
1535                      (constructor NaturalLiteralParseResult NaturalLiteralParseFailed failure)))))))
1536          (Compiler.IntegerLiteral/integerLiteralStripSeparators digits))
1537        zero)))

The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.