I'm writing an interpreter for a simple functional programming language of my design. If you've ever used functional programming languages, you know that they use recursion quite frequently, and often the recursion goes rather deep. PHP's call stack is simply not doing the job: stack crashes are happening too often to be tolerable. I know there's no way to make the call stack any bigger, so is there some way I could somehow circumvent it? Some way to maybe simulate recursion without actually making recursive function calls? I'm at a loss here, and I'd appreciate any ideas anyone might have.