Re: [stack] Combining Combinators

Manfred Von Thun <[email protected]>
Newsgroups gmane.comp.lang.concatenative
Message-ID <C29F0AFC.A2C%[email protected]>


On 19/6/07 1:05 AM, "William Tanksley, Jr" <[email protected]> wrote:

> Manfred Von Thun <[email protected]> wrote:

> At level zero there are numbers, chars, truth values, lists...
>> At level one there are functions successor, +, and ...
>> At level two there are combinators, functions which take functions
>> as arguments (or as values): map, fold, and many more.
>> I was looking for something at level three: functions which
>> take combinators as arguments, but which are distinct from
>> combinators themselves.
> 
> How would that distinction be achieved? You hint below that
> third-order entities would NOT take a function as a parameter; but I
> must point out that every combinator IS a function.

Yes, every combinator is a function. My wording was too cryptic
perhaps. I'll try again:

At level one there are functions which take zero level entities
as arguments. At level two there are combinators which take
level one entities as arguments but cannot take level zero
entities as arguments. Examples: dip, nullary, map, filter, fold.
At level three there would be functions which take level two
entities as arguments but cannot take level one entities as
arguments. If there are such things at all, let foo be one of them.
Then the first below would be meaningful, but the second would not:

2 3 [+] [nullary] foo
2 3 [+] foo

>> I never found any that are distinct
>> from the existing bunch of Joy combinators.
> 
> Those are complete, right?

It may or may not have to do with any kind of completeness, I do
not know. The existing bunch seems to be pretty useful. But I was
not looking for new level two entities, I was looking for genuinely
level three entities which are not also level two.
 
>> a strange new world to me. But it has not led to any combinator
>> N (for Œnew¹) such that [C] N is meaningful for a combinator [C]
>> but [Q] N is not meaningful for a non-combinator Q. This
>> is what I meant by a higher order combinator. But I do not have
>> a proof that there cannot be such a beast.
> 
> It seems to me that you want a function which takes combinators as
> arguments, but does not take functions (right?). But because all
> combinators _are_ functions, this can't be possible.

If there are the kind of thing I was looking for, this would open
up enormous possibilities and complications, not necessarily
pleasant ones. So I did not really want them. I was pleased (and
often surprised) when I found ways in which existing combinators
C, D can be combined as in [C] D. So nothing third level. But
it is stillan open question as far as I can see.

  - Manfred



[Non-text portions of this message have been removed]
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.