### 8.8 ASDF ¶

ASDF is a popular “system construction tool”. The package `slime-asdf` provides some commands to load and compile such systems from Emacs. ASDF itself is not included with SLIME; you have to load that yourself into your Lisp. In particular, you must load ASDF before you connect, otherwise you will get errors about missing symbols.

`M-x slime-load-system NAME` ¶

  Compile and load an ASDF system. The default system name is taken from the first file matching *.asd in the current directory.

`M-x slime-reload-system NAME` ¶

  Recompile and load an ASDF system without recompiling its dependencies.

`M-x slime-open-system NAME &optional LOAD` ¶

  Open all files in a system, optionally load it if LOAD is non-nil.

`M-x slime-browse-system NAME` ¶

  Browse files in a system using Dired.

`M-x slime-delete-system-fasls NAME` ¶

  Delete FASLs produced by compiling a system.

`M-x slime-rgrep-system NAME REGEXP` ¶

  Run `rgrep` on the base directory of an ASDF system.

`M-x slime-isearch-system NAME` ¶

  Run `isearch-forward` on the files of an ASDF system.

`M-x slime-query-replace-system NAME FROM TO &OPTIONAL DELIMITED` ¶

  Run `query-replace` on an ASDF system.

The package also installs some new REPL shortcuts (see Shortcuts):

`load-system`

  Compile (as needed) and load an ASDF system.

`reload-system`

  Recompile and load an ASDF system.

`compile-system`

  Compile (but not load) an ASDF system.

`force-compile-system`

  Recompile (but not load) an ASDF system.

`force-load-system`

  Recompile and load an ASDF system.

`open-system`

  Open all files in a system.

`browse-system`

  Browse files in a system using Dired.

`delete-system-fasls`

  Delete FASLs produced by compiling a system.