Talk:Pointless
The Turing-completeness proof doesn't work because the I/D machine requires unbounded values for the cells (otherwise, what happens is that you can't move the pointer to cells whose addresses are too large to represent, so it gets confined to a finitely large region and so you have only finite memory). I'd suggest making the cells unbounded if you want the pointer instructions to be useful. --ais523 17:28, 4 June 2019 (UTC)
It's easy to translate Smallfuck to Pointless: intialize the first two tape cells to 1 followed by 0 using !>>
, and later use =
as the negation operator (*
in Smallfuck). The other Smallfuck operations (<
, >
, [
, and ]
) correspond directly to Pointless operations under this translation. --Int-e (talk) 17:53, 4 June 2019 (UTC)
- I think you forgot to compile the tape-extending operations, as Smallfuck only has bounded memory. Hmm, is Pointless's tape unbounded? --
A (talk)
03:57, 5 June 2019 (UTC) - Oh right, it is unbounded. The tape extending operation in Smallfuck is no-op in Pointless. --
A (talk)
04:09, 5 June 2019 (UTC) - Wait, that translation actually doesn't work, specifically the
[
and]
operators. If you have[
and the current cell value is 0, the interpreter checks the value of cell 0 which is 1 (thanks to the setup). The opposite is true if the active cell value is 1- therefore it actually loops if and only if it is supposed to continue. --Traveller (talk) 17:38, 4 July 2021 (UTC) - Actually, it's a trivial problem to solve:
[
and]
translate to=[=
and=]=
respectively.--Traveller (talk) 17:52, 4 July 2021 (UTC)
Well, since Smallfuck with an unbounded tape is Turing-complete, then Pointless is too. Traveller (talk) 08:57, 15 June 2019 (UTC)