Rockstar Language Specification

Rocky Extensions

Rounding

String operators

Array operators

push x 2,3,4,5
t = x+6 (t = 2,3,4,5,6)
t = 1+x (t = 1,2,3,4,5)
t = x+x (t = 2,3,4,5,2,3,4,5)
t = x-2 (removes 2nd element: t = 2,3,5)

Any other arithmetic operation converts the array to its length:

t = 0-x (t = -4)

void returns an empty array, you can use it to generate an array on the fly:

while void+2+3+5+7+11as x
say x

For each

while v
say pop v

is one byte shorter than

while v as x
say x

Into

t = x
cut t

is one byte shorter than

cut x into t

it

it is kinda hard to use. It takes the value of the variable that was most recently assigned to. This can be used in a couple ways, most notably to take the value of args at the start of the program (after the hidden boilerplate assigns it).

while args as r
while it as r

it can also be used as a condition in general, even in holes with no input. it will just be equivalent to an empty array at the start of the program.

until it
...
_ = cond

Try reusing your existing assignments as the condition, or doing some operation that errors out. This can be combined with using an array as a counter to avoid initialising variables altogether.

while 10-it
rock i 0
say i

A final use is checking whether an if statement or while statement executed at all, though this is harder to pull off.

i = 0
while cond
k = ...

say it