Skip to main content

*package*

package∗ Variable

Value Type:

a package object.

Initial Value:

the COMMON-LISP-USER package.

Description:

Whatever package object is currently the value of *package* is referred to as the current package.

Examples:

(in-package "COMMON-LISP-USER") → #<PACKAGE "COMMON-LISP-USER"> 
\*package\* → #<PACKAGE "COMMON-LISP-USER">
(make-package "SAMPLE-PACKAGE" :use("COMMON-LISP"))
→ #<PACKAGE "SAMPLE-PACKAGE">
(list


(symbol-package
(let ((\*package\* (find-package ’sample-package)))
(setq \*some-symbol\* (read-from-string "just-testing"))))
\*package\*)
(#<PACKAGE "SAMPLE-PACKAGE"> #<PACKAGE "COMMON-LISP-USER">)
(list (symbol-package (read-from-string "just-testing"))
\*package\*)
(#<PACKAGE "COMMON-LISP-USER"> #<PACKAGE "COMMON-LISP-USER">)
(eq ’foo (intern "FOO")) → true
(eq ’foo (let ((\*package\* (find-package ’sample-package)))
(intern "FOO")))
→ false

Affected By:

load, compile-file, in-package

See Also:

compile-file, in-package, load, package

Expanded Reference: *package*

tip

TODO: Please contribute to this page by adding explanations and examples

*package*