statement termination

Langur statement termination syntax follows the Go idiom. Statements may be terminated with a semicolon, but it is almost always unnecessary. As I see it, most statements are on a single line, so why should a semicolon be necessary on every statement? (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.

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

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.