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.
Tapeworm
Tapeworm is an esoteric programming language by user:raiseafloppafan7741 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
*(*)
See also
- EdgeBounce - also has a direction bit
- Reversible Bitfuck
- Category:Reversible computing