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.


Reply via email to