packagep
packagep Function
Syntax:
packagep object → generalized-boolean
Arguments and Values:
object—an object.
generalized-boolean—a generalized boolean.
Description:
Returns true if object is of type package; otherwise, returns false.
Examples:
(packagep \*package\*) → true
(packagep ’common-lisp) → false
(packagep (find-package ’common-lisp)) → true
Notes:
(packagep object) ≡ (typep object ’package)
Expanded Reference: packagep
Basic Usage: Testing if an Object is a Package
packagep returns true if the argument is a package object, and false otherwise.
(packagep (find-package "COMMON-LISP"))
=> T
(packagep *package*)
=> T
Non-Package Objects
Symbols, strings, and other objects are not packages.
(packagep 'common-lisp)
=> NIL
(packagep "COMMON-LISP")
=> NIL
(packagep 42)
=> NIL
(packagep nil)
=> NIL
Deleted Packages Still Satisfy packagep
Even after deletion, the package object still has type package.
(let ((pkg (make-package "PKGP-DEMO" :use '())))
(delete-package pkg)
(packagep pkg))
=> T
Equivalence with typep
packagep is equivalent to (typep object 'package).
(let ((pkg (find-package "COMMON-LISP")))
(eq (packagep pkg)
(typep pkg 'package)))
=> T