7.3.4 Using packages in interpreted and compiled code
package-name
andpackage-nicknames
are exceptions whose arguments must be packages. Consider the following form:(in-package "APPLICATION" :use 'phlogiston::sophistry)If the list of packages used by the current package differs between compile time and load time, this expression might produce problems. The following form prevents hidden problems from occurring:
(in-package "APPLICATION") (use-package "SOPHISTRY")Similarly, if the current package uses the
alchemy
package, the form(shadow 'alchemy::car)
is equivalent to(shadow 'car)
. These two forms certainly are not equivalent in a load-time environment wherecar
is already a shadowing symbol in the current package. To avoid havingshadow
prefer one symbol over another, use a string:(shadow "CAR")You can also use a symbol with a package qualifier that is guaranteed to be unambiguous, such as a keyword symbol or an uninterned symbol.
Generated with Harlequin WebMaker