Control Flow#
Other than JavaScript’s if (x) y and while (x) y or do x while (y),
Nonstraightforward has its own control flow.
Conditional statement#
Conditional statements are done with stipulate that the provision x qualifies
y where x is a condition and y is a statement or block.
stipulate that the provision 1 === "1" qualifies {
~/dev/stdout/write/ln("your runtime is broken");
}
Exceptions#
Exceptions can be used normally with the throw keyword, or the far superior
retaliate keyword.
Loops#
While loops#
While-loops are done with so long as the condition x is still upholding, then
do y.
mutable readwrite variable i = 0;
so long as the condition i < 10 is still upholding, then do {
~/dev/stdout/write/ln(['i = ', i].join(""));
i += 1;
}
Do-while loops#
There is no Nonstraightforward do-while syntax yet, so do/while is the
only option right now.
For loops#
Not supported yet. Trust me, it’s painful not having them.
Pattern matching#
Nonstraightforward has JavaScript’s switch statement. The match
statement is also planned to be added.