Re: [stack] disallowing recursive definitions
John Nowak <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
On Mar 3, 2008, at 3:50 PM, William Tanksley, Jr wrote: >> With a concatenative tail-call you're passing the stack as an >> argument. In other words, you pass the entire state of the program! > > Yes, this is how concatenative languages are modeled. That's how > *every* step in their execution is modeled, not just tail-calls or > calls. If this were a problem, concatenative languages would be > universally problematic, not merely problematic in the presence of > tail-calls. Indeed, and I'd argue that this is exactly why many people find stack- based languages universally problematic. They're taking issue with all of this state passing, although they phrase it like "I can't keep the stack in my head". Of course this isn't a problem in practice, particularly when you have type inference involved and can get a quick summary of what a function cares about, but it does seem to be the source of many negative first impressions. - John