Compilation Functions
---------------------
- Function: compile-form form
This function compiles the Lisp form FORM into a byte-code form
which is returned.
(compile-form '(setq foo bar))
=> (run-byte-code "F!" [bar foo] 2)
- Command: compile-function function
This function replaces the uncompiled body of the function FUNCTION
(a symbol) with a compiled version, then returns FUNCTION.
- Command: compile-file file-name
This function compiles the file called FILE-NAME into a file of
compiled Lisp forms whose name is FILE-NAME with `c' appended to
it (i.e. if FILE-NAME is `foo.jl' it will be compiled to
`foo.jlc').
If an error occurs while the file is being compiled any
semi-written file will be deleted.
When called interactively this function will ask for the value of
FILE-NAME.
- Command: compile-directory directory #!optional force exclude
Compiles all the Lisp files in the directory called DIRECTORY which
either haven't been compiled or whose compiled version is older
than the source file (Lisp files are those ending in `.jl').
If the optional argument FORCE is true _all_ Lisp files will be
recompiled whatever the status of their compiled version.
The EXCLUDE argument may be a list of filenames, these files will
_not_ be compiled.
When this function is called interactively it prompts for the
directory.
- Command: compile-module module-name
Compiles all uncompiled function definitions in the module named
MODULE-NAME (a symbol).
When called interactively the module name will be prompted for.
- Function: run-byte-code byte-codes constants stack
Interprets the string of byte instructions BYTE-CODES with the
vector of constants CONSTANTS.
This function should _never_ be called by hand. The compiler will
produce calls to this function when it compiles a form or a
function.
There is a second form that byte-code objects can take: a vector
whose read syntax includes a preceding `#' character is a "byte-code
subr". These objects represent compiled Lisp functions and macros.
- Function: bytecodep arg
Returns true if ARG is a byte-code subroutine.