Re: [stack] disallowing recursive definitions
"Joe Bowbeer" <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
On Thu, Feb 28, 2008 at 8:35 PM, John Cowan wrote:
> Joe Bowbeer scripsit:
>
> > As a former Schemer and fan of continuations, I'm conditioned to view
> (tail)
> > recursion as the simpler, more powerful concept. Not looping.
>
> Sure it's simpler and more powerful. That's because it's a general goto
> (with transfer of values). And as Dijkstra said, "the go to statement
> as it stands is just too primitive; it is too much an invitation to make
> a mess of one's program."
>
> If you haven't actually read Dijkstra's squib, it's very much worth
> reading at
>
> http://www.u.arizona.edu/~rubinson/copyright_violations/Go_To_Considered_Harmful.html<http://www.u.arizona.edu/%7Erubinson/copyright_violations/Go_To_Considered_Harmful.html>
> and numerous other places around the Net.
>
>
As far as I know, Dijkstra didn't have a beef with recursion.
The author of the following retrospective writes that Dijkstra probably
considered recursion to be intellectually easier to grasp than iterative
looping:
http://david.tribble.com/text/goto.html
In any event, it's clear from Dijkstra's letter than he didn't consider
recursion to be harmful!
To avoid confusion, I should have used the word "elegant".
Recursion is the simple, elegant solution.
--
Joe Bowbeer
http://mitpress.mit.edu/sicp/front/node3.html
[ Sobre los gustos no hay disputa. ]
[Non-text portions of this message have been removed]