OoOoOM

From Esolang
Jump to navigation Jump to search

OoOoOM is an esoteric programming language based off of, and contained within Underload. It was originally created to prove Sike Turing complete, however at the time of publication this has already been done. OoOoOM relies semi heavily on NOP's.

Memory

On every iteration(meaning after each command), a ^ is performed on the stack.

Commands

OoOoOM has three commands defined in terms of underload expression:

O = ()
M = (~)(:)(^)(a)(*)(!!!!!!)
o = e(the empty string).

Computational class

OoOoOM is Turing complete, as the original language it is based on(A mini concatenative language), can be semi easily translated into OoOoOM:

M = MO
M^ = M
...^ = ...o
... = ...O

and so we can use the given translation to get every underload command:

! = M
~ = MOMMMMMo
(:) = MOMMMMMOMMMMMoMO
(^) = MOMMMMOMMMMMoMMOMMMMMoMO
a = MOMMMOMMMMMoMMOMMMMMoMMOMMMMMoMo
* = MOMMOMMMMMoMMOMMMMMoMMOMMMMMoMMOMMMMMoMo

so for example, (:^):^ can be computed as:

MOMMMMMOMMMMMoMOMOMMMMOMMMMMo
MMOMMMMMoMOMOMMOMMMMMoMMOMMMM
MoMMOMMMMMoMMOMMMMMoMoMOMMMOM
MMMMoMMOMMMMMoMMOMMMMMoMoMOMM
MMMOMMMMMoMOMOMMMMOMMMMMoMMOM
MMMMoMOMOMMOMMMMMoMMOMMMMMoMM
OMMMMMoMMOMMMMMoMoOo