wiiil

From Esolang
Jump to navigation Jump to search

wiiil is an esolang created by User:Yayimhere after being inspired by oxen. its name is just a very short and fast way to pronounce "wheeeel!".

Semantics

wiiil uses three pieces of data:

  • A "wheel" or circular tape of numbers, just called the wheel, that also has a pointer, which starts at the leftmost cell.
  • The "Nand register", which is just another number/register.
  • The "Decrement value", which is a third one.

Every cell can have two "marks". One mark(the "top" one) is related to the Nand register, and the other one(the "bottom") is related to the decrement value. On every iteration the following process happens:

  • If the current cell has the top mark, then NAND it with the Nand register, do a bitwise left shift on the result by 1 bit, and set the cell to the resulting value.
  • Then if the current cell has the bottom mark decrement it by the Decrement value, and set the cell to the resulting value.
  • However if the decrement becomes negative, the value is reset to before decrement, and the cell's value is swapped with the Nand register.

Then the tape pointer moves right by one cell.

Syntax

wiiil programs take the following format:

Nand value
       xxxx        xxxx
      [cel1][cel2][cel3][cel4]...
                         xxxx
Decr value

The xxxx's are the marks. Note that numbers are written in hexadecimal