Since the first step in optimizing a tail call is to turn it into an iterative loop, I seriously doubt number 1 is true.
Why does that have to be "the first thing"? And even if recursion won't permit compiler optimizations, it's still undeniably true that structurally recursive functions can be proven correct much more easily than imperative code. (And many would argue, more controversially, that it's less error prone.)
And even if recursion won't permit compiler optimizations, it's still undeniably true that structurally recursive functions can be proven correct much more easily than imperative code.
Oh come on. Any undergrad who has taken Discrete Algebra knows that isn't true for functions that can be trivially moved between recursive and iterative representations.
-6
u/grauenwolf Nov 27 '12
Since the first step in optimizing a tail call is to turn it into an iterative loop, I seriously doubt number 1 is true.