The system foo is loaded (and compiled, if necessary) by evaluating the following Lisp form:
(asdf:load-system :foo)
On some implementations (namely ABCL, Clozure CL, CMUCL, ECL and SBCL),
ASDF hooks into the CL:REQUIRE
facility
and you can just use:
(require :foo)
In older versions of ASDF, you needed to use
(asdf:oos 'asdf:load-op :
foo)
.
If your ASDF is too old to provide asdf:load-system
though
we recommend that you upgrade to ASDF 2.
See Loading an otherwise installed ASDF.
ASDF provides three commands for the most common system operations:
load-system
, compile-system
or test-system
.
Because ASDF is an extensible system
for defining operations on components,
it also provides a generic function operate
(which is usually abbreviated by oos
).
You'll use oos
whenever you want to do something beyond
compiling, loading and testing.
Output from ASDF and ASDF extensions are supposed to be sent
to the CL stream *standard-output*
,
and so rebinding that stream around calls to asdf:operate
should redirect all output from ASDF operations.
Reminder: before ASDF can operate on a system, however, it must be able to find and load that system's definition. See Configuring ASDF to find your systems.
To use ASDF:
(require :asdf)
or else through
(load "/path/to/asdf.lisp")
.
(load-system :my-system)
or use some other operation on some system of your choice.
That's all you need to know to use ASDF to load systems written by others. The rest of this manual deals with writing system definitions for Common Lisp software you write yourself, including how to extend ASDF to define new operation and component types.