—-

From Esolang
Jump to navigation Jump to search

—- is an esolang by User:PythonshellDebugwindow. It uses only two characters, — and -.

Memory

—- has four wrapping unsigned 8-bit cells, each of which start at 0. It also has a wrapping cell pointer that starts at 0 to keep track of the current cell.

Commands

Command Meaning
Increment the current cell by 3, then increment the cell pointer
- Decrement the cell pointer
—- (M dash then normal dash) If the current cell is greater than 0, jump to the current cellth character; otherwise print the cell pointer + 1th cell as an (extended) ASCII character without a newline, then decrement the cell pointer

Computational class

—- has finite memory, thus it can be simulated by a finite-state automaton. However, the opposite is not true; there must be an FSA that cannot be simulated by a —- program (because it contains more states that can be encoded in the —- program, since they can only jump up to and including the 256th character of the source code).

NodeJS Interpreter

The interpreter is available on GitHub.