3 ms·
Funny article. He mentions 'tail call elimination' once, and then never mentions 'tail call' again. Also a 'tail call' and 'tail call elimination' are 2 comple
by leppie 15y ago
Funny article. He mentions 'tail call elimination' once, and then never mentions 'tail call' again.
Also a 'tail call' and 'tail call elimination' are 2 completely different things. The former being an implementation detail (to provide proper tail recursion for languages that require it, ie Scheme), the latter an optimization technique (to remove (expensive) tail calls!).
- jonmrodriguez 15y agoNonetheless, the term "tail call" should apply to what he is talking about. If "tail call recursion" means recursing as the last thing you do before returning, then he is saying to send a message as the last thing you do. AKA send a message as a tail call instead of returning the value of that message.
- gnosis 15y ago"a 'tail call' and 'tail call elimination' are 2 completely different things." Indeed. For those seeking more detailed information about this issue, see: http://c2.com/cgi/wiki?ProperTailRecursion http://c2.com/cgi/wiki?ProperTailRecursion http://c2.com/cgi/wiki?TailCallOptimization http://c2.com/cgi/wiki?TailCallOptimization http://lambda-the-ultimate.org/classic/message1532.html http://lambda-the-ultimate.org/classic/message1532.html