On Tuesday, 22 July 2014 at 21:23:33 UTC, Timon Gehr wrote:
On 07/22/2014 09:42 PM, Walter Bright wrote:
The point was not at all to criticize Haskell. The point was
that D does
not need tail recursion because D supports writing loop
constructs.
Tail call support is still useful. Looping is not the main
reason for supporting tail calls. Eg. a tail call might be
indirect and only sometimes recurse on the same function and
sometimes call another function.
Indeed, I recall Matthias Felleisen wrote that OOP makes no sense
without TCO because methods will indirectly call each other. See
https://blogs.oracle.com/jrose/entry/tail_calls_in_the_vm#comment-1259314984000
http://www.eighty-twenty.org/index.cgi/tech/oo-tail-calls-20111001.html
While I don't care much for OOP, D is supposed to support that
style.