3 ms·
Let me address 2. and 3. first, because 1. is probably correct. 2. The problem with that is that you may have infinite recursion, but you can only pass finite
by camel-cdr 4y ago
Let me address 2. and 3. first, because 1. is probably correct.
2. The problem with that is that you may have infinite recursion, but you can only pass finite amounts of memory between recursion steps. This has also been addressed by https://cs.stackexchange.com/a/60978 https://cs.stackexchange.com/a/60978.
3. I don't follow, how could you create a growing `va_list`?
Edit: Actually, I think I do now, so you essentially create a sort of linked list of `va_list`s?
1. This is probably correct. You'd need to be able to round trip through a void*, but that could still be implemented to retain the tagged data. I thought of pointer tagging more in terms of marking addresses with certain memory protection properties, but what you suggest should be possible. There may still be some wording disallowing it, but I couldn't find it.
- GabrielTFS 4y ago> 2. The problem with that is that you may have infinite recursion, but you can only pass finite amounts of memory between recursion steps. This has also been addressed by https://cs.stackexchange.com/a/60978 https://cs.stackexchange.com/a/60978. If I have two stacks (by spawning another thread), don't I have two PDAs ? That's what that stackoverflow post indicates, and IIRC two PDAs are equivalent to a Turing machine.