|
|
|
|
|
by taeric
3564 days ago
|
|
I find this... still an odd definition. To quote Sussman/Abelson[1], "An evaluator that can execute a procedure such as sqrt-iter without requiring increasing storage as the procedure continues to call itself is called a tail-recursive evaluator." Specifically, the caller of this function will have to clear out the stack of all operations that were pushed. Something you wouldn't have to do on a tail or non-recursive function. [1] https://mitpress.mit.edu/sicp/full-text/book/book-Z-H-34.htm... |
|
By the way, this is the paper I was talking about. It won't explain my bizarre choice of words, but it might explain what I meant when I said that Scheme tail-call optimizes unconditionally:
http://repository.readscheme.org/ftp/papers/ai-lab-pubs/AIM-...