TPLHBPTBOTEW

From Esolang
Jump to: navigation, search

TPLHBPTBOTEW, which is an acronym for This Programming Language Has Been Proven To Be On The Esolangs Wiki, is an esoteric programming language created by User:Andrew3335 and me (User:Gamer) that was designed to look like a math paper.

Language Overview

Concept

Every TPLHBPTBOTEW program must start with _Name of Your Paper_. If this is not found at the beginning of the program, it results in a syntax error.

The only data type in this language is the set. Sets are not unordered; they can be ordered in a specific way and they will stay ordered exactly that way. The thing that makes them different from lists in other languages, however, is that each element's value must be different. Their names do not have to be different.

An element has a name and a value which must be set simultaneously. How to do this is described in the Commands section.

You can add and remove elements (and sets, because sets are also considered elements) from a set, output elements of a set (or the set itself), explode and implode elements of a set, etc. More details are given in the Commands section.

As far as flow control goes, we decided to only add if statements, for loops and while loops. To our knowledge, nothing else is needed to make a language Turing-complete.

Commands

The element of the name x and value 2 has been proven to be in set P. adds an element named x with the value 2 to set P. Note that x cannot be a set. A different command is needed in order to add a set to another set.

The proof for the element of the name x and value 2 being in set P has been proven weak. removes the element named x with the value 2 from set P.

The nth element of set P has been fully computed. outputs the nth element of set P. You can also use The last element ... to output the last element of set P.

The element of the name x and value 2 of set P has been fully computed. outputs the element named x with the value of 2 in set P.

The element of the name x and value 2 of set P has been calculated to be the sum of the element of the name x and value 2 of set P and 2. is equivalent to x = 2; x = x + 2 in Python 3.

The element of the name x and value 2 of set P has been calculated to be the product of the element of the name x and value 2 of set P and 2. is equivalent to x = 2; x = x * 2 in Python 3.

The element of the name x and value 2 of set P has been calculated to be the difference of the element of the name x and value 2 of set P and 2. is equivalent to x = 2; x = x - 2 in Python 3.

The element of the name x and value 2 of set P has been calculated to be the quotient of the element of the name x and value 2 of set P and 2. is equivalent to x = 2; x = x / 2 in Python 3.

The element of the name x and value 2 of set P has been calculated to be the modulus of the element of the name x and value 2 of set P and 2. is equivalent to x = 2; x = x % 2 in Python 3.

Set P has been fully computed. outputs set P.

Set A has been included in set P following intense calculation. adds set A to set P.

Set P's elements have been mirrored after more calculations. mirrors set P, i.e. the first element becomes the last and vice versa.

Set P has been computed to be {x: 1, y: 2, z: 3}. is almost equivalent to P = set(["1", "2", "3"]) in Python 3. However, sets are unordered in Python 3, while in TPLHBPTBOTEW, they are not. Names also can't be given to the elements in Python 3.

Set P has been computed to be composed of its individual elements. explodes every element in set P, e.g. {x: "Hello", y: "World"} becomes {x: {a: "H", b: "e", c: "l", d: "l", e: "o"}, y: {a: "W", b: "o", c: "r", d: "l", e: "d"}}.

Set P has been computed to be the joining of its individual elements. implodes every element in set P, e.g. {x: {a: "H", b: "e", c: "l", d: "l", e: "o"}, y: {a: "W", b: "o", c: "r", d: "l", e: "d"}} becomes {x: "Hello", y: "World"}.

The element of the name x and value 2 of set P has been calculated to be multiple elements. explodes the element named x with the value 2 in set P.

The elements of the names a, b, c, d, e and values "h", "e", "l", "l", "o" of set P have been calculated to be one element. implodes the elements {a: "h", b: "e", c: "l", d: "l", e: "o"} in set P.

Set P has been computed to contain a copy of itself, named set A. makes a copy of set P named set A and adds it to set P.

Flow Control Commands

If the element of the name x and value 2 has been proven to be in set P, then ...
In the other case that the proof for the element of the name x and value 2 being in set P has been proven weak, then ...

The above is equivalent to x = 2; if x in P: ...; elif x not in P: ... in Python 3.

In any other case, ... is equivalent to else: ... in Python 3.

Important: If you want to have multiple expressions in an if statement, seperate them with commas. The last one, however, should be preceded by , and instead of , . For example: If the element of the name x and value 2 has been proven to be in set P, then the 1st element of set P has been fully computed, the element of the name x and value 2 of set P has been fully computed, the last element of set P has been fully computed, and set P has been fully computed.

For each element of the name e and value v in set P, applying to the nth next element, ... is almost equivalent to for v in P: ... in Python 3, except each iteration uses the nth next element instead of the next one (however, you can use ... the 1st next element ... or just ... the next element ... to iterate over each element). Also note that e is not used in the Python 3 (semi-)equivalent at all, since you cannot name elements of a set in Python 3.

While the element of the name x and value 2 has been proven to be in set P, ... is equivalent to x = 2; while x in P: ... in Python 3.

Examples

Truth-machine

Due to the fact that this language has no input capabilities, this will have to do.

_Truth-machine_
0/1 has been proven to be in set P.
If 0 has been proven to be in set P, then the last element of set P has been fully computed.
In any other case, 1 has been proven to be in set P, and while 1 has been proven to be in set P, the last element of set P has been fully computed.

Computational class

We, the creators of TPLHBPTBOTEW, believe that it is Turing-complete, however it has not been proven yet.

Implementations

Currently, there are no implementations for TPLHBPTBOTEW and we do not have the patience or skill to make an interpreter/compiler, however we would surely like to see an implementation of this language.

See also

  • English, the inspiration for this language.