This directory contains the programs used to construct the S executive.

The executive can contain any number of S functions:  the decision
whether to have functions internal to the executive or external
(invoked by fork/exec) is based on the target machine.  In general, it
is best to have as many functions in the executive as possible, since this
cuts down on interprocess communication (data is passed through
the stack file to external processes) and system overhead.
Also, substantial amounts of disk space are taken up by external
functions -- the more that is present in the executive, the less disk
needed for S.

For a virtual memory system, practically all functions should be part of the
executive.  This is accomplished by
	cp big.list infun.list
(infun.list is the list of directories [in $F] which contain functions that
should be internal).  For a system where
memory is at a premium,
	cp small.list infun.list
For intermediate situations (a machine with lots of memory but no paging),
you can create your own list by getting rid of less interesting
stuff in big.list.

One warning: if you put things in infun.list, they are not going to be
made as external functions (in $X).  This means that they will only
be apply-able if apply is part of the executive.
For example, if you put "sum" in infun.list, then apply, sapply and tapply
had better be there too, otherwise apply(x,1,"sum") won't be able to find sum.
Alternatively, make external versions of the things you want to apply,
in addition to the internal ones.  That will cost some disk space, but will
make execution faster for the normal (internal) case.

There is also a file, stop.list, which contains the names of directories
in $F which should not be compiled at all for this version of S.
This can be useful for suppressing unneeded device drivers, uninteresting
functions, etc.  By default, stop.list is empty.
