Folgende Arten an Anweisungen dürfen nach Iterations-Schleifen (For und Repeat) angegeben werden. Dabei lassen sich mehrere Anweisungen durch Kommata angeben.
Jeder Block kann mehrere Anweisungen beinhalten, die für jedes Element ausgeführt werden. Das Ergebnis des Blocks wird dabei ignoriert.
'Gibt das zweifache von 1, 2 und 3 aus:
for(1, 2, 3) {out current * 2}
'Gibt "a = 10", "b = 2" und "c = 5" aus:
[["a", 10], ["b", 2], ["c", 5]] for[char, number] {out char << " = " << number}
Ausdrücke werden in normalen Klammern angegeben. Das Ergebnis eines Ausdrucks wird in eine Queue abgespeichert. Falls mehrere Ausdrücke angegeben werden, so sind die Ergebnisse eines Wertes in einer Unter-Queue angelegt.
out for(1, 2, 3) (current²) '= [1, 4, 9]
out for(5, 10)[a] (2a),(5a) '= [[10, 20], [500, 100]]
out repeat(1, 3)[x] (0.5x) '= [0.5, 1, 1.5]
Gibt man eine Operation durch einen Operator an, so wird jedes Objekt mit dieser Operation behandelt. Das Ergebnis jeder Operation wird in eine Queue abgespeichert.
out for(1, 2, 3) + 1 '= [2, 3, 4]
out for(4) / 2, * 2 '= [2, 8]
out for(2, 3, 4)² '= [4, 9, 16]
out repeat(1, 3)*5 '= [5, 10, 15]
Eine Klassenmethode wird durch einen Doppelpunkt angegeben. Dabei wird sie immer an den aktuellen Wert angewandt und gibt ein Ergebnis zurück. Wird der Name eines Instanz-Objekts angegeben, so wird eine Referenz des Objekts in die Queue gespeichert.
Auf die Gleiche Weise lassen sich Klassenmethoden und Instanz-Objekte auch in Ausdrücke und Blöcken ansprechen, da der aktuelle Wert einer Iterations-Schleife immer in den Namensraum eingebunden wird.
out for("Hello") :lower case, :upper case, :reverse
'= [hello, HELLO, olleH]
p1{ x = 1; y = 2 }
p2{ x = 3; y = 4 }
for(p1, p2) {x = 0} 'p1\x = 0 und p2\x = 0