Mobius

From Esolang
Jump to: navigation, search

Mobius is an esoteric programming language created by David Catt (user:David.werecat) which reads images as program code, executes in two dimensions, and has only audio output. It stands alongside URSL, Macmac and VTL as languages that were all created on the same day, which was when the author had a streak of insanity and created 4 languages in one day.

Instructions

The code is loaded as an image. Multiple formats are supported (maybe the next iteration will support layers/frames for three dimensional code). Since the JPEG format is supported, this is probably the first language that allows source code to be stored in a lossy format. The execution begins at pixel (0,0) moving east. If the side of the image is hit, the execution direction is reversed. All memory is on a Mobius strip of 64 bits. When a bit crosses the edge of the 64 bits, the reverse of the bit appears on the other side. Instructions are based on color conditions and are as follows:

Condition Description
R=G=B Toggle the current bit
R>G R>B Turn 90 degrees clockwise
G>R G>B Shift strip left
B>R B>G Shift strip right
R=G R>B Beep at 500hz
R=B R>G Skip next instruction if the current bit is 1
G=B G>R If the current bit is 0, beep at 600hz; otherwise beep at 700hz


External resources