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]