Noddity

From Esolang
Jump to navigation Jump to search

Noddity is an esolang created by User:Yayimhere for proving A Question of Protocol turing complete. it is basically just a Minsky machine. It works on two unbounded registers

Etymology

It is simply a combination of the word "Not" and "Oddity", as it is not much of an oddity compared to other esolangs.

Memory

Noddity uses two unbounded registers, with a pointer pointing to one at all times

Definition

It has the following commands:

Caption text
Command Meaning
s Switch between the two registers
i Increment current register by 1
d Decrement current register by 1, Unless it decrements zero. In that case, jump to line n, where n is the number of times d is repeated.
n NOP
g Unconditionally goto line n, where n is the number of times g is repeated.
h Halt.

Line's indexed with the starting number 1.

Turing completeness proof

Translating 2 register ESMMN into Noddity is trivial:

x:y -> sd*yy: -> si

℘xy -> d*yy -> i

℘x -> g*x

℘ -> h

Note that x: notates that the register chosen is different from the last one chosen, and its absence notates it is not different. Also note that x*n notates command x repeated n times. separate all commands with n

See also