This program uses a brute-force technique to search for constructions of
concatenative combinators.

It takes no command-line parameters. The settings are contolled by a file
called "goal". The first line of this file describes the goal combinator
(i.e., the combinator that the program will search for). The remaining lines
describe combinators that the program will use as bases in the construction.

The first character on each line should be a digit telling how many stack
items the combinator will use. The next character should be a single letter
giving a name for the combinator (except for the goal combinator, for which
this name is omitted). The body of the combinator definition is best
described by some examples. For "dip" you'd use

  0[1]

For "cons" you'd use

  [[0]1]

Basically, "0" refers to the top item on the stack, and higher numbers
refer to successively deep items. For "zap" (aka "pop" or "drop"), just
use a blank body, but be sure to let there be a "1" at the beginning
of the line.

Everything that is dumped to the screen is also recorded in the "log" file.
So check the "log" file if a bunch of results came so fast that they
scrolled off the screen (of course, the "log" file will be erased when
the program is run again)

The spinning baton rotates after every 65536 tests. It is normal for it
to vary quite a bit in speed (because some tests take longer), but if
it stops, that's a bad sign.

There are a few settings that can be changed by editing some "#define"'s
at the top of the program. See the source file, joys.c, for this.
