Re: [stack] the concatenative wikipedia article

John Nowak <[email protected]>
Newsgroups gmane.comp.lang.concatenative
Message-ID <[email protected]>
On Jan 12, 2009, at 9:44 AM, William Tanksley, Jr wrote:

> Sorry for the unclarity -- no. A 'sibling' operation refers to
> something like 'pair'; a way to encode two data items at the same
> level of nesting.

Ah. Thanks for clarifying.

> The minimal basis for applicative languages contains one combinator;
> the minimal basis for concatenative languages contains two
> (http://portal.acm.org/citation.cfm?id=967781.967785 has a proof).

This doesn't seem to be the case for a concatenative language with  
quotation (push). Okasaki is dealing with the additional limitation of  
"flatness". I suppose you could count quotation as a combinator of  
sorts, but in either case it's a very simple operation.

> See the page that ieros/Kerby wrote on concatenative combinators. In
> order to make up for this advantage, concatenative combinators have to
> be more complex than applicative ones

I'm not sure this is the case. Quotation, composition, and one  
combinator doesn't seem more complex than application and one  
combinator to me, just different. Here's Meertens on the subject (I  
believe from http://portal.acm.org/citation.cfm?id=746988):

"The basic problem is that the basic operation of the classical  
combinator calculus (and also of the closely related lambda calculus)  
is application instead of composition. Application has not a single  
property. Function composition is associative and has an identity  
element (if one believes in the 'generic' identity function)."

Perhaps I'm wrong, but I think you may be judging "complexity" simply  
by counting the number of primitive elements. I don't think this is a  
useful metric.

- 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.