==================
Natural literal (unit/NaturalLitA.dhall)
==================

42

---

(expression
  (primitive_expression (numeric_literal (natural_literal))))

==================
Natural literals (naturalA.dhall)
==================

[ 0, 1, 10 ]

---

(expression
  (primitive_expression (list_literal
    (expression (primitive_expression
      (numeric_literal (natural_literal))))
    (expression (primitive_expression
      (numeric_literal (natural_literal))))
    (expression (primitive_expression
      (numeric_literal (natural_literal)))))))

==================
Positive integer literals (unit/IntegerLitPositiveA.dhall)
==================

+10

---

(expression
  (primitive_expression (numeric_literal (integer_literal))))

==================
Negative integer literals (unit/IntegerLitNegativeA.dhall)
==================

-10

---

(expression
  (primitive_expression (numeric_literal (integer_literal))))

==================
Small double literal (unit/DoubleLit16bitA.dhall)
==================

5.5

---

(expression
  (primitive_expression (numeric_literal (double_literal))))

==================
Medium double literal (unit/DoubleLit32bitA.dhall)
==================

5555.5

---

(expression
  (primitive_expression (numeric_literal (double_literal))))

==================
Large double literal (unit/DoubleLit64bitA.dhall)
==================

55555555555.5

---

(expression
  (primitive_expression (numeric_literal (double_literal))))

==================
Positive double literal (unit/DoubleLitPositiveA.dhall)
==================

1.23

---

(expression
  (primitive_expression (numeric_literal (double_literal))))

==================
Negative double literal (unit/DoubleLitNegativeA.dhall)
==================

-1.23

---

(expression
  (primitive_expression (numeric_literal (double_literal))))

==================
Double literal with an exponent (unit/DoubleLitExponentA.dhall)
==================

1.23e4

---

(expression
  (primitive_expression (numeric_literal (double_literal))))

==================
Double literal with a negative exponent (unit/DoubleLitExponentNegativeA.dhall)
==================

1.23e-4

---

(expression
  (primitive_expression (numeric_literal (double_literal))))

==================
Double literal with an exponent and no dot (unit/DoubleLitExponentNoDotA.dhall)
==================

1e4

---

(expression
  (primitive_expression (numeric_literal (double_literal))))

==================
Zero double literal (unit/DoubleLitZeroA.dhall)
==================

0.0

---

(expression
  (primitive_expression (numeric_literal (double_literal))))

==================
Negative zero double literal (unit/DoubleLitNegZeroA.dhall)
==================

-0.0

---

(expression
  (primitive_expression (numeric_literal (double_literal))))

==================
Infinity double literal (unit/DoubleLitInfinityA.dhall)
==================

Infinity

---

(expression
  (primitive_expression (numeric_literal (double_literal))))

==================
Negative infinity double literal (unit/DoubleLitNegInfinityA.dhall)
==================

-Infinity

---

(expression
  (primitive_expression (numeric_literal (double_literal))))

==================
NaN double literal (unit/DoubleLitNaNA.dhall)
==================

NaN

---

(expression
  (primitive_expression (numeric_literal (double_literal))))

==================
Integer-valued double literal (unit/DoubleLitSecretelyIntA.dhall)
==================

{-
    Some languages do not make principled distinctions between number types, so
    this checks that this Double is not silently considered as a Natural
-}
1.0

---

(expression
  (block_comment
    (block_comment_open) (block_comment_content) (block_comment_close))
  (primitive_expression (numeric_literal (double_literal))))

==================
Hexadecimal natural and integer literals (hexadecimalA.dhall)
==================

  λ(x : Bool)
→ λ(x : Bool)
→ { example0 = 0xFF
  , example1 = -0x1A10
  , example2 = x@0x01
  }

---

(expression
  (lambda_expression
    (lambda_operator)
    label: (label)
    (type_operator)
    type: (expression (primitive_expression (identifier (builtin))))
    (arrow_operator)
    expression: (expression (lambda_expression
      (lambda_operator)
      label: (label)
      (type_operator)
      type: (expression (primitive_expression (identifier (builtin))))
      (arrow_operator)
      expression: (expression (primitive_expression (record_literal
        (record_literal_entry (label) (assign_operator)
          (expression (primitive_expression
            (numeric_literal (natural_literal)))))
        (record_literal_entry (label) (assign_operator)
          (expression (primitive_expression
            (numeric_literal (integer_literal)))))
        (record_literal_entry (label) (assign_operator)
          (expression (primitive_expression
            (identifier (label) (de_bruijn_index (natural_literal)))))))))))))
