2D-BCT

From Esolang
Jump to navigation Jump to search

2D-BCT

I want to design a language that includes all the purposes of an esolang.

BCT

A BCT program is any finite string of bits (commands), executed as follows:

Command Execution
0 Delete the leftmost data-bit.
1 Goto the next command (say x). If the leftmost data-bit is 1, copy x to the right end of the data-string.

If the program-string or the data-string is initially empty, execution halts immediately; otherwise, starting at the leftmost program-bit and halting only when the data-string becomes empty, the commands are executed in cyclic sequence from left to right (the leftmost bit following next after the rightmost bit).

The program pointer advances one bit after each command-execution, and also advances one bit when the goto in a 1-command is executed; consequently, a 1-command always pairs with the next command after it (say x), such that 1x is effectively a composite command whose execution is

if the leftmost data-bit is 1:
    copy x to the right end of the data-string  

Four equivalent variations of BCT are obtained by exchanging the roles of symbols 0 and 1 as commands, and by varying the parity required in the condition for copying a bit to the end of the data-string. That makes it a Turing-Tarpit(Has minimalism), and obfuscated.

2D Commands

Command Execution
> Move the PC direction right.
< PC-Left.
^ PC-Up.
v PC-Down.
@ PC-End.

It follows the directions and puts them one-by-one in an array, excluting them as in BCT. This makes it new-conceptual. It also becomes themed, to look like Befunge.

Brevity and Joking

2D-BCT also adds all of the one-byte commands in Losescript, making it win a lot of golf contests. This makes it have brevity(This also includes the joking property of Losescript.).

Weirdness

This Esolang is also weird. If you use any of the commands that is not mentioned, the program will enscript the code forever, making it next to impossible to use.