langur

statement termination

Statements may be terminated with a semicolon, but it is usually unnecessary. (They are added internally, as needed.)

By default, an end of a line is an end of a statement.

The following tokens as the last token on a line do not end a statement.

: ( [ { , = ~
+ - * / \ // rem mod ^ ^/
div ndiv div? ndiv?
< <= > >= == !=
<? <=? >? >=? ==? !=?
and and? or or?
nand nand? nor nor?
xor xor? nxor nxor?
: ( [ { , = ~
+ - * / \ //
rem mod ^ ^/
div ndiv
div? ndiv?
< <= > >=
== !=
<? <=? >? >=?
==? !=?
and and?
or or?
nand nand?
nor nor?
xor xor?
nxor nxor?

A comma at the end of a line terminates all unbounded argument lists (function calls not using parentheses), just as the end-of-line would do. This allows you to use unbounded lists within bounded lists over multiple lines.