Draft:Tapeworm
Tapeworm is an esoteric programming language by User:AnalysisOfVariance in 2026. It is his first attempt to create a reversible esolang and an attempt to create a reversible esolang where reversing the program is equivalent to running the program backwards. The original goal was to not make Reversible Bitfuck, but target fixation happened.
Overview
There is an infinite tape of bits initialized to all zeros. There is a direction bit which decides which way the tape head moves and is initialized to zero.
| Command | Description |
|---|---|
*
|
Flip the current bit. |
%
|
Flip the direction bit. |
!
|
Move left if the direction bit is zero else move right, then flip the direction bit. |
(
|
Jump to the instruction right after the matching ) if the current bit is zero.
|
)
|
Jump to the instruction right after the matching ( if the current bit is zero.
|
Reversibility
Tapeworm programs can be run backwards from any state they reach to get to the initial state. In the context of Tapeworm, "running a program backwards" means to put the instruction pointer starting at the end of a program moving to the start and not flipping the program and running it. This is because flipping a program will prevent brackets from matching.
Computational class
As proven by User:Dragoneater67, Tapeworm is Turing complete since it is equivalent to Reversible Bitfuck:
| RBF | Tapeworm |
|---|---|
* |
*
|
> |
%!%
|
< |
!
|
( |
(
|
) |
)
|
Examples
Infinite loop
*(*)