The :block-compile and :entry-points arguments to
extensions:compile-from-stream and compile-file provide overall
control of block compilation, and allow block compilation without requiring
modification of the program source.
There are three possible values of the :block-compile argument:
nilDo no compile-time resolution of global function
names, not even for self-recursive calls. This inhibits any
start-block declarations appearing in the file, allowing all
functions to be incrementally redefined.
tStart compiling in block compilation mode. This is
mainly useful for block compiling small files that contain no
start-block declarations. See also the :entry-points
argument.
:specifiedStart compiling in form-at-a-time mode, but
exploit any start-block declarations and compile
self-recursive calls as local calls. Normally :specified is
the default for this argument (see block-compile-default.)
The :entry-points argument can be used in conjunction with
:block-compile t to specify the entry-points to a
block-compiled file. If not specified or nil, all global functions
will be compiled as entry points. When :block-compile is not
t, this argument is ignored.
This variable determines the default value for the
:block-compile argument to compile-file and
compile-from-stream. The initial value of this variable is
:specified, but nil is sometimes useful for totally
inhibiting block compilation.