I'm now looking into the vectorized recursion thing again. My PR seems to somewhat fix it, because, for example, this answer works fine. But my own test code, like λ,[vx on [[0], [0]], does not.
This is the strangest bug in the world. λ-[vx∑ works, but λ-[vxȧ doesn't. the problem is that ctx.function_stack is somehow emptying itself so the function needed to recurse is missing, but when I put ∑, which hasn't even been evaluated yet at the point of the bug, it decides that I put in the password and it works.
Anyone got any test cases for vectorised recursion?
Because I think I've fixed it
The problem seems to have been that because vx is lazily evaluated, modifications to ctx were acting up for the same reason v, or global array/register access in a map are jank
That is, lazy evaluation + side effects don't really mix
My patch is to detect if x comes after the v and then eagerly evaluate the result of vx