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.
oxen
oxen is an esolang invented by User:None1.
Memory
Three accumulators: A, B and C are used. They contain unbounded unsigned integers. At first, A is 1, B and C are 0.
Commands
oxen has the following 4 commands (case sensitive).
| Command | Meaning |
|---|---|
o |
Bitwise or B and A and store the result into B. Then, cyclic shift all three accumulators (A,B,C=B,C,A). |
x |
Bitwise xor B and A and store the result into B. Then, cyclic shift all three accumulators (A,B,C=B,C,A). |
e |
Bitwise left shift A by 1 bit and store the result into B. Then, cyclic shift all three accumulators (A,B,C=B,C,A). |
n |
Do nothing. Then, cyclic shift all three accumulators (A,B,C=B,C,A). |
After the last command is executed, execution goes back to the first. Invalid commands raise an error.
As there's no output, the interpreter may choose to print debugging information.
Examples
Powers of 2
e
After each operation, the result is stored in the accumulator A.
Cellular automaton rule 30
eenox
Interpreter in Python
from time import *
c = input()
A, B, C = 1, 0, 0
while 1:
for i in c:
if i == "o":
B |= A
elif i == "x":
B ^= A
elif i == "e":
B = A << 1
elif i == "n":
pass
else:
raise SyntaxError(f"Invalid command: {i}")
A, B, C = B, C, A
sleep(0.2)
print(f"Executed command {i}: A={A} B={B} C={C}")
print("=" * 10)
Computational class
Unknown, as there's currently no rigorous proof of the computational class of rule 30 (though it's suspected to be Turing-complete). If rule 30 is Turing-complete, then this esolang is Turing-complete (and a Turing tarpit) as well.