GEL skiljer sig något från andra språk i hur det hanterar flera kommandon och funktioner. I GEL måste du skapa en kedja av kommandon med en avskiljaroperator. Det vill säga om du vill skriva mer än ett uttryck måste du använda ;
-operatorn mellan uttrycken. Detta är ett sätt så att båda uttrycken evalueras och att resultatet av det andra (eller det sista om det finns mer är två uttryck) returneras. Anta att du matar in följande:
3 ; 5
Detta uttryck kommer att ge 5.
Detta kommer ibland att kräva parenteser för att göra det otvetydigt, särskilt om ;
inte är den översta primitiven. Detta skiljer sig något från andra programmeringsspråk där ;
terminerar uttryck, medan den i GEL faktiskt är en binär operator. Om du är bekant med pascal faller detta sig naturligt. Genius kan dock låta dig låtsas att den är en terminator i någon utsträckning. Om en ;
hittas i slutet på en parentes eller ett block kommer genius att lägga till ett null efter den som om du hade skrivit ;null
. Detta är användbart ifall du inte vill returnera ett värde från exempelvis en slinga, eller om du vill hantera returvärdet på annat sätt. Observera att detta kommer sakta ner koden något om det anropas för ofta eftersom det är en till operator inblandad.
Om du skriver uttryck i ett program måste du inte lägga till ett semikolon. I detta fall kommer genius helt enkelt att skriva ut returvärdet närhelst det exekverar uttrycket. Observera dock att om du definierar en funktion så är kroppen av funktionen ett enda uttryck.