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.
Wheelliam
Wheelliam is a family of Turning tarpits made by User:ChuckEsoteric08 which are inspired by conditionals of Advance The Wheel!.
General Description
Languages work on a tape infinite in both directions with program being in infinite loop
0 - advance instruction wheel n times 1 - execute current instruction 2 - advance instruction wheel either n or m times based on some condition
Languages are named as Wheelliam(l, n, m) in which l is amount of instructions on the wheel, if there are multiple variations with same name they are differentiated by adding a letter after it: Wheelliam(l, n, m)-A, Wheelliam(l, n, m)-B and so on
Wheelliam(6, 1, 3)-A
It has this instruction wheel, initially pointing to SET0:
SET0 - set current cell to 0 SET1 - set current cell to 1 RIGHT - move tape pointer right ADV2 - advance instruction wheel 2 times LEFT - move tape pointer left NOP - do nothing
n is 1, m is 3 and it advances the wheel m times if cell is 0. This variation is Turing-complete as it can implement Two-Way Exasperation Machine:
| TWEM | Wheelliam(6, 1, 3)-A |
|---|---|
0 |
1
|
1 |
0100000
|
> |
0010000
|
< |
0000100
|
^ |
021010
|
Wheelliam(4, 1, 3)-A
It has this instruction wheel:
FLIP - flips current cell RIGHT - moves tape pointer right LEFT - moves tape pointer left NOP - does nothing
It advances m times if cell is 1.
As can be seen it is fully reversible. The author think this variation could be Turing-incomplete but it isn't proved. One simple example showcasing the behaviour of 2 is:
101012
It evolves as such:
[1] 0 1 0 1 2 Instruction:FLIP Tape:...0[1]0... 1 [0] 1 0 1 2 Instruction:RIGHT Tape:...0[1]0... 1 0 [1] 0 1 2 Instruction:RIGHT Tape:...01[0]... 1 0 1 [0] 1 2 Instruction:LEFT Tape:...01[0]... 1 0 1 0 [1] 2 Instruction:LEFT Tape:...0[1]0... 1 0 1 0 1 [2] Instruction:RIGHT Tape:...0[1]0... [1] 0 1 0 1 2 Instruction:RIGHT Tape:...01[0]... 1 [0] 1 0 1 2 Instruction:LEFT Tape:...01[0]... 1 0 [1] 0 1 2 Instruction:LEFT Tape:...0[1]0... 1 0 1 [0] 1 2 Instruction:NOP Tape:...0[1]0... 1 0 1 0 [1] 2 Instruction:NOP Tape:...0[1]0... 1 0 1 0 1 [2] Instruction:FLIP Tape:...0[1]0... [1] 0 1 0 1 2 Instruction:FLIP Tape:...0[0]0... 1 [0] 1 0 1 2 Instruction:RIGHT Tape:...0[0]0... 1 0 [1] 0 1 2 Instruction:RIGHT Tape:...00[0]... 1 0 1 [0] 1 2 Instruction:LEFT Tape:...00[0]... 1 0 1 0 [1] 2 Instruction:LEFT Tape:...0[0]0... 1 0 1 0 1 [2] Instruction:NOP Tape:...0[0]0... [1] 0 1 0 1 2 Instruction:NOP Tape:...0[0]0... 1 [0] 1 0 1 2 Instruction:FLIP Tape:...0[0]0... 1 0 [1] 0 1 2 Instriction:FLIP Tape:...0[1]0... 1 0 1 [0] 1 2 Instruction:RIGHT Tape:...0[1]0... 1 0 1 0 [1] 2 Instruction:RIGHT Tape:...01[0]... 1 0 1 0 1 [2] Instruction:LEFT Tape:...01[0]... ...
It was this language that inspired the author to create this family of languages.