================================================================================
number: decimal
================================================================================

a = 0
a = 100_00_532
a = 55#
a = 55##

---

(haskell
 (function
  (variable)
  (exp_literal (integer)))
 (function
  (variable)
  (exp_literal (integer)))
 (function
  (variable)
  (exp_literal (integer)))
 (function
  (variable)
  (exp_literal (integer))))

================================================================================
number: octal
================================================================================

a = 0o00
a = 0O77
a = 0O77##

---

(haskell
 (function (variable) (exp_literal (integer)))
 (function (variable) (exp_literal (integer)))
 (function (variable) (exp_literal (integer))))

================================================================================
number: hex
================================================================================

a = 0xA8
a = 0XEF84Fe23
a = 0xa_e_123_4
a = 0xa_e_123_4##
a = 0x0.1p-4
a = 0xFp3

---

(haskell
 (function (variable) (exp_literal (integer)))
 (function (variable) (exp_literal (integer)))
 (function (variable) (exp_literal (integer)))
 (function (variable) (exp_literal (integer)))
 (function (variable) (exp_literal (integer)))
 (function (variable) (exp_literal (integer))))

================================================================================
number: float
================================================================================

a = 0.32847283472
a = 0.00e01
a = 0.00e01#
a = 0.00e+01
a = 0.99E-01
a = 00e01
a = 00e+01
a = 99E-01

---

(haskell
 (function (variable) (exp_literal (float)))
 (function (variable) (exp_literal (float)))
 (function (variable) (exp_literal (float)))
 (function (variable) (exp_literal (float)))
 (function (variable) (exp_literal (float)))
 (function (variable) (exp_literal (float)))
 (function (variable) (exp_literal (float)))
 (function (variable) (exp_literal (float))))

================================================================================
number: binary
================================================================================

a = 0b01110
a = 0B10010
a = 0B10010##

---

(haskell
 (function (variable) (exp_literal (integer)))
 (function (variable) (exp_literal (integer)))
 (function (variable) (exp_literal (integer))))
