TypeInt

From Esolang
Jump to navigation Jump to search
TypeInt (Tn)
Designed by User:GUAqwq
Appeared in 2023
Computational class Maybe Turing complete (change after proving)
Reference implementation Unimplemented
File extension(s) .ts_

TypeInt is a esolang which is created by User:GUAqwq. The program runs on an unbounded integer type array which is unbounded. It came out while User:GUAqwq was proving the turing completeness of TypeString:

"If there's only one character for this esolang, will it still Turing Complete?"

Overview

We call <some '*'s><int> value or ptr because they acts as a multilevel pointer.

Operation types:

ptr-  : set the value which ptr points to 0

ptr+  : increase the value which ptr points

value; : dynamic label, if there's the same value for more than 2 labels, first one works.

v0 v1 v2? : if v0 == v1 jump to labelv2

Examples

Decrease

Input: *0==x (x>=1)

Output: *1==x-1

Code:

*3+
*4+
*4+

*2+

*3;
*0 *2 *4?
*0+
*1+
*2+
*2+
*0 *0 *3?

*4;
*0-
*2-
*3-
*4-

This code has used all the statements, but multilevel pointer syntax hasn't been used.

The code is divided into 4 parts by the empty lines:

The 1st part sets 1 info *3, 2 into *4. These 2 values will be used for labels.

The 2nd part increases *2. Thus, during the copy, the target *1 will get 1 less than the source *0

The 3rd part copies *0 to *1, using such method:

while(*2 != *0){
    *0+=1;
    *2+=2;
}

The 4th part clears the values in the memory except the anwser which is in *1