Re: [stack] disallowing recursive definitions
John Nowak <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
On Mar 6, 2008, at 10:23 AM, William Tanksley, Jr wrote: > John Nowak <[email protected]> wrote: > >> 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. > > Now we're treading on the marshy ground of subjective judgments... I > don't think we're going to resolve this in this manner. Resolve what? Are you talking to the right John? > But I wasn't talking about subjective impressions; I'm talking about > mathematical analysis. We don't need to go into opinions. > Mathematically, every operation in a concatenative language is modeled > by passing the entire stack to each successive function, and yet the > mathematical analysis is exceedingly simple. I agree. > Therefore, if tail-calls are hard to analyze in a concatenative > language, the problem is NOT that "the entire stack is being passed". > The problem lies elsewhere. Of course. > Let me quote you: "No. All you do is do an arbitrary stack shuffle > before the tail call." Ah, now I'm sure you have the wrong John. I'm Mr. Nowak, he's Mr. Cowan. - John