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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.