Re: [stack] disallowing recursive definitions
John Nowak <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
On Mar 3, 2008, at 2:48 PM, William Tanksley, Jr wrote: >> An interesting point. A recursive tail call in an applicative >> language >> can do one thing that a simple GOTO cannot: it can, at one stroke, >> change the value of all the parameters of the function to something >> else. This would certainly be sufficient to make an applicative >> theorist blanch... >> >> Absolutely. LAMBDA = GOTO + argument passing; that's what makes it >> "ultimate". > > Now, interestingly, a concatenative tail-call cannot do this. Does > this imply some superiority for concatenative optimizers? :-) With a concatenative tail-call you're passing the stack as an argument. In other words, you pass the entire state of the program! - John