This keyword takes a list of packages, in addition to those in the variable
, that should be deleted during delivery. The Common Lisp function
is used to do this.
When a package is deleted, all of its symbols are uninterned, and the package's name and nicknames cease to be recognized as package names.
After the package is deleted, its symbols continue to exist, but because they are no longer interned in a package they become eligible for removal at the next garbage collection. They survive only if there are references to them elsewhere in the application.
Note: Invoking the treeshaker has much the same effect on packages as deleting them. However, by deleting a package you regain some extra space taken up by hash tables.
Affected by: :packages-to-keep