find-package
find-package Function
Syntax:
find-package name → package
Arguments and Values:
name—a string designator or a package object.
package—a package object or nil.
Description:
If name is a string designator , find-package locates and returns the package whose name or nickname is name. This search is case sensitive. If there is no such package, find-package returns nil.
If name is a package object, that package object is returned.
Examples:
(find-package ’common-lisp) → #<PACKAGE "COMMON-LISP">
(find-package "COMMON-LISP-USER") → #<PACKAGE "COMMON-LISP-USER">
(find-package ’not-there) → NIL
Affected By:
The set of packages created by the implementation.
defpackage, delete-package, make-package, rename-package
See Also:
make-packageExpanded Reference: find-package
Basic Usage: Finding a Package by Name
find-package looks up a package by its name or nickname and returns the package object, or NIL if not found.
(find-package "COMMON-LISP")
==> #<PACKAGE "COMMON-LISP">
(find-package "COMMON-LISP-USER")
==> #<PACKAGE "COMMON-LISP-USER">
Finding a Package by Nickname
Packages can be found by any of their nicknames.
(find-package "CL")
==> #<PACKAGE "COMMON-LISP">
(find-package "CL-USER")
==> #<PACKAGE "COMMON-LISP-USER">
Using a Symbol as the Argument
When a symbol is given, its name (a string) is used for the lookup. The search is case-sensitive.
(find-package 'common-lisp)
==> #<PACKAGE "COMMON-LISP">
(find-package 'keyword)
==> #<PACKAGE "KEYWORD">
When No Package is Found
If no matching package exists, NIL is returned.
(find-package "NONEXISTENT-PACKAGE")
=> NIL
(find-package 'no-such-package)
=> NIL
Passing a Package Object
If the argument is already a package object, it is returned as-is.
(let ((pkg (find-package "COMMON-LISP")))
(eq pkg (find-package pkg)))
=> T
Case Sensitivity
Package name lookup is case-sensitive. Standard package names are uppercase.
(find-package "common-lisp")
=> NIL
(find-package "COMMON-LISP")
==> #<PACKAGE "COMMON-LISP">