Next: Components, Previous: The object model of ASDF, Up: The object model of ASDF [Contents][Index]
An operation object of the appropriate type is instantiated whenever the user wants to do something with a system like
Operations can be invoked directly, or examined to see what their effects would be without performing them. There are a bunch of methods specialised on operation and component type that actually do the grunt work.
The operation object contains whatever state is relevant for this purpose
(perhaps a list of visited nodes, for example)
but primarily is a nice thing to specialise operation methods on
and easier than having them all be EQL
methods.
Operations are invoked on systems via operate
.
operate
operation system &rest initargs &key force
force-not
verbose
&allow-other-keysoos
operation system &rest initargs &key &allow-other-keysoperate
invokes operation on system.
oos
is a synonym for operate
.
operation is a symbol that is passed, along with the supplied
initargs, to make-instance
to create the operation object.
system is a system designator.
The initargs are passed to the make-instance
call
when creating the operation object.
Note that dependencies may cause the operation
to invoke other operations on the system or its components:
the new operations will be created
with the same initargs as the original one.
If force is :all
, then all systems
are forced to be recompiled even if not modified since last compilation.
If force is t
, then only the system being loaded
is forced to be recompiled even if not modified since last compilation,
but other systems are not affected.
If force is a list, then it specifies a list of systems that
are forced to be recompiled even if not modified since last compilation.
If force-not is :all
, then all systems
are forced not to be recompiled even if modified since last compilation.
If force-not is t
, then only the system being loaded
is forced not to be recompiled even if modified since last compilation,
but other systems are not affected.
If force-not is a list, then it specifies a list of systems that
are forced not to be recompiled even if modified since last compilation.
force takes precedences over force-not;
both of them apply to systems that are dependencies and were already compiled.
To see what operate
would do, you can use:
(asdf:traverse operation-class system-name)
• Predefined operations of ASDF: | ||
• Creating new operations: |
Next: Components, Previous: The object model of ASDF, Up: The object model of ASDF [Contents][Index]