Broken Tape

From Esolang
Jump to navigation Jump to search

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

Caption text
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

>,[<+>-].