# Complete Joy Base Without DIP

## iepos@tunes.org — 2000-05-19 02:43:33

    Greetings... I know this is a bit random, but it seems interesting ...

    The Joy-like "dip" combinator can be constructed as:

      swap unit cat call

    Here is how it works:

      [x] [f] swap unit cat call

      [f] [x] unit cat call         (swap)

      [f] [[x]] cat call            (unit)

      [f [x]] call                  (cat)

      f [x]                         (call)

    This construction is interesting because "call" is the only unquoting

    combinator it relies on. This means that there exist complete bases

    that have "call" as the sole unquoting combinator. In particular,

    {swap, dup, drop, cat, unit, call} would work.

    It is currently unknown to me if it is possible to construct "dip"

    in a similar way from "cons" instead of "cat" and "unit".

    Actually, I've been working on a little tool in C that should be able to

    answer this question; it would use a brute-force technique to try to

    find the smallest construction of a desired combinator from a desired

    base. But, it doesn't work now. Hopefully it will work soon ...

    Anyway, I don't know if this is of practical use.

    - Brent Kerby ("iepos")

## srenner@mail.ru — 2000-05-19 14:51:08

    --- In concatenative@egroups.com, iepos@t... wrote:

     > Greetings... I know this is a bit random, but it seems interesting

     ...

     > The Joy-like "dip" combinator can be constructed as:

    >

    >   swap unit cat call

    >

    > Here is how it works:

    >

    >   [x] [f] swap unit cat call

    >   [f] [x] unit cat call         (swap)

    >   [f] [[x]] cat call            (unit)

    >   [f [x]] call                  (cat)

    >   f [x]                         (call)

    >

    > This construction is interesting because "call" is the only

     unquoting

     > combinator it relies on. This means that there exist complete bases

    > that have "call" as the sole unquoting combinator. In particular,

    > {swap, dup, drop, cat, unit, call} would work.

     This didn't make sense until I realized that by "call" you meant "i".

    What's wrong with Thun's terminology?

## iepos@tunes.org — 2000-05-19 17:54:35

    > > The Joy-like "dip" combinator can be constructed as:

    > >

    > >   swap unit cat call

    > >

    > > Here is how it works:

    > >

    > >   [x] [f] swap unit cat call

    > >   [f] [x] unit cat call         (swap)

    > >   [f] [[x]] cat call            (unit)

    > >   [f [x]] call                  (cat)

    > >   f [x]                         (call)

    >

    > This didn't make sense until I realized that by "call" you meant "i".

    > What's wrong with Thun's terminology?

     Whoops... sorry, i should have made that clear.

    There's nothing wrong of course with calling it "i" ...

    It just seems odd to use a one-letter name for it while using

    longer, somewhat descriptive names for other combinators.

    - Brent Kerby ("iepos")