===
[Literal] text
===
> "Test"
> """
 this is multiline
 """
---
(unison
    (watch_expression (literal_text))
    (watch_expression (literal_text)))
===
[Literal] Nat
===
x = 123
---
(unison
    (term_declaration
        (term_definition
            (wordy_id)
            (kw_equals)
            (nat))))
===
[Literal] Int
===
x = -9223372036854775808
---
(unison
    (term_declaration
        (term_definition
            (wordy_id)
            (kw_equals)
            (int))))
===
[Literal] Float
===
x = 1.6777216
---
(unison
    (term_declaration
        (term_definition
            (wordy_id)
            (kw_equals)
            (float))))
===
[Literal] Char
===
x = ?a
x = ?\n
---
(unison
    (term_declaration (term_definition (wordy_id) (kw_equals) (literal_char)))
    (term_declaration (term_definition (wordy_id) (kw_equals) (literal_char))))
===
[Literal] Boolean
===
x = true
---
(unison
    (term_declaration
        (term_definition
            (wordy_id)
            (kw_equals)
            (literal_boolean))))
===
[Literal] Byte
===
x = 0xsdeadbeef
---
(unison
    (term_declaration
        (term_definition
            (wordy_id)
            (kw_equals)
            (literal_byte))))
===
[Literal] list literal
===
x = [1, 2, 3]
---
(unison
    (term_declaration
        (term_definition
            (wordy_id)
            (kw_equals)
            (literal_list
                (nat)
                (nat)
                (nat)))))
===
[Literal] function
===
y = x -> x + 2
---
(unison
    (term_declaration
        (term_definition
            (wordy_id)
            (kw_equals)
            (literal_function
                (wordy_id)
                (arrow_symbol)
                (function_application
                    (wordy_id)
                    (operator)
                    (nat))))))
===
[Literal] tuple
===
x = (true, true, false)
---
(unison
    (term_declaration
        (term_definition
            (wordy_id)
            (kw_equals)
            (tuple_or_parenthesized
                (literal_boolean)
                (literal_boolean)
                (literal_boolean)))))
===
[Literal] unit
===
x = ()
---
(unison
    (term_declaration
        (term_definition
            (wordy_id)
            (kw_equals)
            (unit))))
===
[Literal] termLink
===
x = termLink aUnisonTerm
---
(unison
    (term_declaration
        (term_definition
            (wordy_id)
            (kw_equals)
            (literal_termlink
                (kw_termlink)
                (wordy_id)))))
===
[Literal] typeLink
===
> typeLink Optional
> typeLink ##Foo.bar
---
(unison
    (watch_expression (literal_typelink (kw_typelink) (wordy_id)))
    (watch_expression (literal_typelink (kw_typelink) (built_in_hash (path) (wordy_id)))))
===
[Literal] Nat
===
x = 1
---
(unison
    (term_declaration
        (term_definition
            (wordy_id)
            (kw_equals)
            (nat))))
===
[Literal] numbers
===
x = 1.0
x = +1
x = -1
x = +1.0
x = -1.0
x = 1e3
x = 1e+3
x = 1e-3
x = +1e3
x = +1e+3
x = +1e-3
x = -1e3
x = -1e+3
x = -1e-3
x = 1.2e3
x = 1.2e+3
x = 1.2e-3
x = +1.2e3
x = +1.2e+3
x = +1.2e-3
x = -1.2e3
x = -1.2e+3
x = -1.2e-3
---
(unison 
    (term_declaration (term_definition (wordy_id) (kw_equals) (float)))
    (term_declaration (term_definition (wordy_id) (kw_equals) (int)))
    (term_declaration (term_definition (wordy_id) (kw_equals) (int)))
    (term_declaration (term_definition (wordy_id) (kw_equals) (float)))
    (term_declaration (term_definition (wordy_id) (kw_equals) (float)))
    (term_declaration (term_definition (wordy_id) (kw_equals) (float)))
    (term_declaration (term_definition (wordy_id) (kw_equals) (float)))
    (term_declaration (term_definition (wordy_id) (kw_equals) (float)))
    (term_declaration (term_definition (wordy_id) (kw_equals) (float)))
    (term_declaration (term_definition (wordy_id) (kw_equals) (float)))
    (term_declaration (term_definition (wordy_id) (kw_equals) (float)))
    (term_declaration (term_definition (wordy_id) (kw_equals) (float)))
    (term_declaration (term_definition (wordy_id) (kw_equals) (float)))
    (term_declaration (term_definition (wordy_id) (kw_equals) (float)))
    (term_declaration (term_definition (wordy_id) (kw_equals) (float)))
    (term_declaration (term_definition (wordy_id) (kw_equals) (float)))
    (term_declaration (term_definition (wordy_id) (kw_equals) (float)))
    (term_declaration (term_definition (wordy_id) (kw_equals) (float)))
    (term_declaration (term_definition (wordy_id) (kw_equals) (float)))
    (term_declaration (term_definition (wordy_id) (kw_equals) (float)))
    (term_declaration (term_definition (wordy_id) (kw_equals) (float)))
    (term_declaration (term_definition (wordy_id) (kw_equals) (float)))
    (term_declaration (term_definition (wordy_id) (kw_equals) (float))))
===
[Literal] Unit
===
x = ()
---
(unison (term_declaration (term_definition (wordy_id) (kw_equals) (unit))))
===
[Literal] escape sequences
===
> "\0 \a \b \f \n \r \t \v \s \\ \' \""
===
(unison (watch_expression (literal_text)))