LispWorks Delivery User Guide > 9 Delivery and Internal Systems > 9.8 Throwing symbols and packages out of the application


9.8.3 Smashing packages

When you smash a package, the following happens:

  1. All the package's symbols are uninterned.
  2. The package structure is deleted.
  3. Its symbols' function definitions, property lists, classes, values, and structure definitions are deleted or set to nil.

After the package is smashed, the symbols continue to exist, but all the information they contained is gone. By being uninterned they become eligible for garbage collection. Also, the chances of any objects they referred to being collected are increased.

CAUTION: Smashing destroys a whole package and all information within its symbols. Use it carefully.

Note: Any symbol whose home package is to be smashed can be retained by being uninterned before delivery commences.

LispWorks Delivery User Guide - 22 Dec 2009