We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

Wunlang

From Esolang
Jump to navigation Jump to search

Wunlang is an esolang by User:ChuckEsoteric08. The name is read as "One lang" and it can be seen as author's take on 1L.

Description

There are two types of instructions: whitespace and everything else, which are stored on a 2D grid in which top left cell has coordinates (0, 0) and instruction pointer starts there, moving right. It uses tape of 8-bit integers as data. When passing by a whitespace it does nothing, and what it executes while encountering a nonwhitespace depends on whether x and y coordinates of it are odd or even and on the direction of the instruction pointer.

Executing a non-whitespace, while moving right or down
y is odd y is even
x is odd Turn instruction pointer clockwise Increment current cell and move tape pointer right
x is even Move tape pointer left Turn instruction pointer clockwise
Executing a non-whitespace, while moving left or up
y is odd y is even
x is odd Turn instruction pointer clockwise Decrement current cell
x is even Skip next instruction if current cell is zero Turn instruction pointer clockwise

Tape is right infinite with first cell indexed 0. I/O is memory mapped:

  • Cell 0 - When it is incremented and tape pointer moves right it does not increment (but it does move right), instead it outputs Cell 1 as ASCII character, when it is tried to be decremented it inputs an ASCII character and stiores it in the current cell. Move left would move right.
  • Cell 1 - Cell on which I/O is performed on.
  • Cell 2 - Cell on which tape pointer starts.

Computational class

While not formally proven, the author assumes it is definetly Turing-complete.