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.
Broken Tape
Broken Tape is an esolang made by User:Yes that uses a broken tape processor.
The Tape
The tape is a 1D array of cells, like any other. But, the tape processor is broken.
At any time, the tape could stretch and damage or break cells. The tape could also get jammed and break the functionality of the program.
The tape processor also has an automatic "recovery" function, where it attempts to recover damaged cells by sticking ripped pieces together.
Commands
| Command | Literal Meaning | Description |
|---|---|---|
| CLL | Cell Left | Move the pointer left |
| CLR | Cell Right | Move the pointer right |
| INC | Increment | Increment cell under pointer |
| DEC | Decrement | Decrement the cell under the pointer |
| EMP | Empty | Set the cell under the pointer to zero |
| WNZ | While Not Zero | While cell under the pointer is not zero, execute commands in between next [ and ] |
| WHZ | While Zero | While cell under the pointer is zero, execute commands in between next [ and ] |
| [ | _loopstart | Starter for WHZ and WNZ loop |
| ] | _loopend | Ender for WHZ and WNZ loop |
| END | End Program | End program/Terminate execution |
| RST | Restart | Restart the program |
| PRA | Print Ascii | Print value of cell under pointer as an ASCII character |
| PRN | Print Number | Print value of cell under pointer as a number |
| INP | Input | Get input and store ASCII value of input into cell under pointer |
Examples
Print ASCII value of input
INP PRN
Print ASCII value of input but it has a chance to corrupt the cell and maybe also poorly stitch it back together
CLR INP WNZ [ CLL INC CLR DEC ] PRN
The same program in bf
>,[<+>-].