TypeInt
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