5 ms·
Maybe the stack is shallower on Windows, or the calling convention takes more space per function and is enough to push it over the edge.
by CamouflagedKiwi 7y ago
Maybe the stack is shallower on Windows, or the calling convention takes more space per function and is enough to push it over the edge.
- nh2 7y agoRecursion based implementation of parsers in languages with limited stack size is a programmer mistake.
- justincormack 7y agoAll languages have limited stack size.
- dwohnitmok 7y agoEh... not really if you're referring to call stacks. Rust at one point had growable stacks. That was removed for performance reasons. Haskell with GHC kind of has growable stacks (basically IIRC most function calls occur on the heap) and its stack overflows take a different form. SML I think at one point also had an implementation with a growable call stack.
- stkdump 7y agoI guess this is a nitpick of limited vs. fixed. Even if you grow the stack, at some point you can't grow anymore.
- dwohnitmok 7y agoIf by limited you mean limited by the amount of memory your machine has then yes it's limited, but I don't think that's what parent was getting at, since in that sense everything about a computer is limited.