While Pointstack
While Pointstack is a variation of Pointstack accidentaly created by User:ChuckEsoteric08 while writing a Turing-completeness proof.
Differences
The only difference between the two is that [...]
is a while loop instead of do-while loop
Computational class
Pointstack's computational class is Turing-complete, as long as stack hold unbounded integers which would be shown by translating Portable Minsky Machine Notation to it:
The program starts with:
!!
This will initialise the stack with two elements, each representing the register. To switch between this two registers we use swap command $
. Incrementing and decrementing the reigster is easy, they can be done with ^
and _
respectively. The while loop then would simply be [...]
and an if statement would be :[?...!]?
, what it does is duplicates the current register, so that if the statement is not true it would not remove actual register, if the condition is true then it would remove that duplicated element, after the code is executed it would push 0 and finish the loop, and then that zero is removed from the stack