6.8.1 Deleting packages

When you delete a package, the following happens:

  1. All the package's symbols are uninterned.
  2. The package name is deleted.

After the package is deleted, its symbols continue to exist, but because they are no longer interned in a package they become eligible for collection at the next garbage collection. They survive only if there are useful 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.

LispWorks Delivery User Guide - 7 Apr 2005