How does this work given... recursion?
Even on languages without VLAs one can implement a simulacra of them with recursion.
Even on languages without VLAs one can implement a simulacra of them with recursion.
So it will be the same thing but with more (error handling) steps.
This annoyance can be avoided by avoiding recursion. Where recursion is useful, it can be done, you just have to handle failure properly, and then you'll have safety against stack overflow.
> Where recursion is useful, [...]
Recursion is so useful, most imperative languages even have special syntax constructs very specific special cases of recursion they call 'loops'.
Yes[1]. You can use the @call builtin with the .always_tail modifier.
@call(.always_tail, foo, { arg1, arg2, ... });
[1]: https://ziglang.org/documentation/master/#callHow do incremental compilation and distributed compilation work?