Separator

In GEL if you want to type more than one command you have to use the ; operator, which is a way to separate expressions, such a combined expression will return whatever is the result of the last one, so suppose you type the following:

3 ; 5
This expression will yield 5.

This will require some parenthesizing to make it unambiguous sometimes, especially if the ; is not the top most primitive. This slightly differs from other programming languages where the ; is a terminator of statements, whereas in GEL it’s actually a binary operator. If you are familiar with pascal this should be second nature. However genius can let you pretend it is a terminator somewhat, if a ; is found at the end of a parenthesis or a block, genius will itself append a null node to it as if you would have written ;null. This is useful in case you do not want to return a value from say a loop, or if you handle the return differently. Note that it will slightly slow down the code if it is executed too often as there is one more operator involved.