Re: [stack] disallowing recursive definitions
"Joe Bowbeer" <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
On Mon, Mar 3, 2008 at 10:12 AM, John Cowan wrote: > Joe Bowbeer scripsit: > > > As far as I know, Dijkstra didn't have a beef with recursion. > > It seems to me from _A Discipline of Programming_ that he thought > recursion a special case, relatively unimportant: the programming language > he introduces there does not admit it. And he is very much on record as > condemning the reduction of iteration to (tail) recursion as a false > reduction, _ignotum per ignotius_. > But he mentions recursion favorably in the letter you were using to indict it. I'm confused. > > Recursion is the simple, elegant solution. > > Recursion can be employed elegantly, when it mirrors induction, or > inelegantly, when it is an invitation to make a mess of your program. > Not all syntactic sugar is oncogenetic: there are good reasons to use > both let and lambda instead of just lambda. > By "mess" you mean obfuscated and unintelligible? I agree. Recursion is an elegant concept that can lead to terse, confusing code. But so, in my opinion, can concatenative programming, so I have trouble understanding your complaint. If you are saying that adding recursion to concatenative programming is beyond the pale, I think I could agree with that. --Joe [Non-text portions of this message have been removed]