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

From Esolang
Jump to navigation Jump to search

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 to tapeworm conversion table
RBF Tapeworm
* *
> %!%
< !
( (
) )

Examples

Infinite loop

*(*)

See also