in reply to Recursion is not a looping construct.
in thread How can I add all the numbers in an array with out doing a foreach loop?

Some programming languages optomize tail-recursion down to a loop (to prevent the procedure call/stack overhead). So at least I would say that tail-recursion is a looping construct (or at least very close to one). Also some languages (ML, Prolog) have no standard looping constructs (while, for, etc..) so all looping in those languages is implemented with recursion. So in at least those languages recursion is a looping construct.

The call is harder to make in Perl, since I don't believe it optomizes tail-recursion down to a loop, and it does have normal looping operators. There are cases where recursion is clearly not a looping construct, but I must say that in some instances recursion clearly is a looping construct.

  • Comment on RE: Recursion is not a looping construct.