Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Thanks, that is what I thought, but didn't trust my memory.

Yes, I did mean optimization - without it you can blow through your stack quickly (and the traceback will be long and redundant :)



In those cases, you may wish to use a dynamic programming technique. A bit of caching might be a greater optimization than tail call elimination. The `@functools.lru_cache` tool is very easy to experiment with.


> will be long and redundant

They made a highly redundant traceback display much more pleasant a couple years ago, writing "the same thing 1,998 more times ..." or something like that.


Common lisp doesn't require tail call elimination either, fwiw


But every implementation except clisp, ECL and clisp do it reliably.


sbcl doesn't always do it, depending on optimization settings, and clisp does do it when compiling; by "reliably" perhaps you meant "by default"?


I think you may have meant to substitute ABCL for one of those clisps?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: