Skip to content

Language overview

Shylie edited this page May 25, 2022 · 1 revision

eso2d (not affiliated with Eso2D in any way) is a 2D esoteric language. The main thing that sets eso2d apart from a typical 2D esoteric language like Befunge is that there is no stack, or similar structure. Any and all memory is in the same space as the code.

All code lives in a discrete 2D grid of cells, where each cell contains one integer.
Code is run by a cursor, which is comprised of an instruction pointer and a selection.
The instruction pointer has an (x, y) position at which the next instruction to execute is read from.
The selection is where the instructions executed manipulate the memory. It also has an (x, y) position, but is capable of being wider than one cell.

The program starts with one cursor, whose instruction pointer begins at the first-found @ character in the program, and selection begins at the first-found _ character in the program.

When executing code, the cursor reads the current instruction from the instruction pointer, and moves it forward one.
If the instruction pointer lands on an unknown character, the cursor terminates.
If the cursor lands on a space, it moves back, and turns right up to four times, stopping early if a non-space instruction is found.

Clone this wiki locally