Talk:Minsky machine

From Esolang
Jump to navigation Jump to search

Question

What is "an alternate state transition"? --None1 (talk) 22:55, 22 October 2023 (UTC)

It's basically the equivalent of a jump in an imperative programming language: you go to a different part of the program. The different terminology is used because unlike with imperative languages, where the commands are in order and go to the next command by default, in a finite state machine the commands are unordered and each command specifies which command to run next (a state transition). So there's an implicit jump already in every command: the point is that if you try to decrement zero, the program has to jump somewhere else instead (i.e. you do a different, or alternative, state transition). --ais523 03:07, 23 October 2023 (UTC)
Thanks! --None1 (talk) 10:47, 23 October 2023 (UTC)
So it's a goto statement?
User:Ractangle (Discord:belarusianflag)

Minsky machines have goto statements everywhere as it is. A Minsky machine's decrement looks something like if (counter == 0) { goto x; } else { --counter; goto y; } and its increment looks like ++counter; goto z;. The point is that there are two different jump destinations for the decrement-like operation, a main destination and an alternative one. --ais523 20:18, 1 October 2024 (UTC)