On Jan 5, 2006, at 3:04 PM, Jared Davis wrote:
>
> Hi,
>
> Is there a way to create an empty package and then later (import?
> intern?) the
> symbol COMMON-LISP:NIL into it?
>
> The following has the behavior that I want, except that I have to
> import NIL
> when the package is created.
>
> (defpackage "FOO" (:use) (:import-from "COMMON-LISP" "NIL"))
> (in-package "FOO")
>
> In particular, now the following produces COMMON-LISP:T, as desired:
>
> (LISP::equal (LISP::symbolp 3) nil)
>
> But I seem to be having trouble with using "import" to do the same
> thing. For
> example, when I write:
>
> (defpackage "FOO" (:use))
> (in-package "FOO")
> (LISP::import 'COMMON-LISP::nil)
>
> Then (LISP::symbol-package 'nil) returns the FOO package (I had hoped
> it would
> return the COMMON-LISP package), and when I write (LISP::equal
> (LISP::symbolp 3)
> 'nil), it returns COMMON-LISP:NIL (I had hoped it would return
> COMMON-LISP:T).
>
> Thanks, and sorry for the silly question. I don't understand the CL
> package
> system very well.
There are no silly questions.
IMPORT want a list. Try
(cl:import '(cl:nil))
Cheers
--
Marco Antoniotti
http://bioinformatics.nyu.edu/~marcoxa
NYU Courant Bioinformatics Group tel. +1 - 212 - 998 3488
715 Broadway 10th FL fax. +1 - 212 - 998 3484
New York, NY, 10003, U.S.A.