Hidden language interpreter in Bender 4

While playing around with the Bender commands in @eulerscheZahl’s excellent optimization puzzle, I made a discovery. It seems that there are hidden commands in addition to the documented ones. The trick is that they are in German. I’m not sure if that’s because it was more familiar for him, or as a way to hide them. In any case, here is the list I found so far:

{ and }        start and end block
BESTIMMEN      declare a function
WIEDERHOLEN    repeat
BIS            until
HINAB()        go down
LINKS()        go left
RECHTS()       go right
AUF()          go up

Using this language, a solution for level 1 can be written as:

BESTIMMEN E1NS;{ WIEDERHOLEN { HINAB(), RECHTS() } BIS E1NS }

The astute reader will notice that this is actually a rather verbose language, so it does not really help with short solutions as in level 1. However, with more complex levels, the infinite power of a Turing-Complete language (WIEDERHOLEN loops) largely compensates for that, and allows for very elaborate and shorter solutions.

There are probably other commands, as I could not find a complete list in the referee (maybe they are well hidden, or the referee running on the CG servers is not the same as the one one github). I wonder if other concepts like variables and assignments are implemented too. If anyone finds out more information about this language, please share it here so that we can all benefit.

3 Likes

I think the correct spelling of HINAB in eulerscheZahl’s dialect of the interpreter is ABDANKEN.

Since I tend to prefer MACHNOCHDAS loops in my contest code, here’s my version of level 1:

BESTIMMEN E1NS;{ MACHNOCHDAS { ABDANKEN(), RECHTS() } BIS E1NS }

2 Likes

You missed the RUDEL command, which will make Bender walk along a circle.
It’s a reference to a group (“Rudel”) of sheep dogs running around their sheep to keep them together.

3 Likes

Speaking of secrets: https://github.com/eulerscheZahl/Bender4/blob/2ce0b2e14fd66ab3861eca0eb82f10546ceccb6d/config/statement_en.html#L6-L7

1 Like

That’s a nice way to block your puzzle for CodinGamers behind an enterprise firewall/parental control :wink:

Nvm, comments are striped out :frowning:

Yes, you remove quite a lot from the statement.
I tried some XSS with script tags or an image onLoad event, no success :smiley:

Oh, about the hidden commands: April fools!
LINKS is the letter ‘L’ making Bender go left and 4 unrecognized characters that are ignored. Same for other commands.