Talk:Yoctostack

From Esolang
Jump to navigation Jump to search

Branching

How does branching work with this language? The current specification suggests branching is a state, but doesn't make it clear what the instruction pointer does after branching. Usually a branch instruction is paired with some location to branch to, like a instruction or line offset. Reading the spec as it is currently, I doubt this language is TC. It looks like there are only a limited number of distinct code paths or blocks possible. I'm not sure there is enough room to do useful MM stack checks while having to repeat basically a single program loop over and over again (with possibly different jumpback points?). Salpynx (talk) 01:21, 19 January 2022 (UTC)

1. imagine each - is an opening parenthesis, and each : is a closing parenthesis. when the IP reaches a -, and (before decrementing) finds out it's 0, it jumps to the matching : (and pops the 0 off the top).
2. it's turing complete because you can simulate a finite state machine (for branching), and all operations required for a minsky machine (minus branching). --Otesunki (talk) 05:49, 20 January 2022 (UTC)
addendum: i have now added the TCness proof to the page. --Otesunki (talk) 08:50, 20 January 2022 (UTC)