Keywords I/if and E/else
I <condition> ... | I <condition> ... E ... | I <condition1> ... E I <condition2> ... | I <condition1> ... E I <condition2> ... E ... |
Two consecutive keywords
E/
elseand
I/
ifare treated especially, so there is no need for a separate/additional keyword like
elifin Python or
elsifin Ruby.
Also
I/
ifand
E/
elsecan be used in expressions similarly to ternary operator
?:from C:
sign = I x < 0 {-1} E I x > 0 {1} E 0 // 11l
sign = x < 0 ? -1 : x > 0 ? 1 : 0; // C
I/if subkeywords
I.likely <condition> ...is used as a sign to the compiler that condition in most of the cases will be true.
And similarly:
I.unlikely <condition> ...is used as a sign to the compiler that condition in most of the cases will be false.
Note: at the present moment performance increase when using this subkeywords is negligible, so their usage is not recommended.