From: ············@gmail.com
Subject: make-package :use sbcl
Date: 
Message-ID: <1110309619.100648.273330@z14g2000cwz.googlegroups.com>
Hi,

sbcl makes packages that use nothing by default. I know it is
conformant, but all others use CL and probably more. I tried to find a
rationale for that in SBCL's documentation, but couldn't. Is there an
explanation anywhere?

David

From: Paul Dietz
Subject: Re: make-package :use sbcl
Date: 
Message-ID: <d0lcje$4ke$1@avnika.corp.mot.com>
············@gmail.com wrote:

> sbcl makes packages that use nothing by default. I know it is
> conformant, but all others use CL and probably more. I tried to find a
> rationale for that in SBCL's documentation, but couldn't. Is there an
> explanation anywhere?

Since it's implementation dependent which packages are used, portable
code should never omit the :use in a defpackage form.   I believe
sbcl has a philosophy of being persnickety to help users find
problems of this kind.

	Paul
From: ············@gmail.com
Subject: Re: make-package :use sbcl
Date: 
Message-ID: <1110349839.711602.120340@o13g2000cwo.googlegroups.com>
Paul Dietz wrote:
> ············@gmail.com wrote:
>
> > sbcl makes packages that use nothing by default. I know it is
> > conformant, but all others use CL and probably more. I tried to
find a
> > rationale for that in SBCL's documentation, but couldn't. Is there
an
> > explanation anywhere?
>
> Since it's implementation dependent which packages are used, portable
> code should never omit the :use in a defpackage form.   I believe
> sbcl has a philosophy of being persnickety to help users find
> problems of this kind.

They got it the other way around then.  Portable code should use :use
"COMMON-LISP" to restrict the set of available symbols to those
exported from COMMON-LISP package. Nonportable code can omit :use and
will risk having non-portable symbols defined.

If they wanted to enforce portability, they would make :use COMMON-LISP
only by default.
From: Christophe Rhodes
Subject: Re: make-package :use sbcl
Date: 
Message-ID: <sq4qfli96t.fsf@cam.ac.uk>
·············@gmail.com" <············@gmail.com> writes:

> Paul Dietz wrote:
>> Since it's implementation dependent which packages are used, portable
>> code should never omit the :use in a defpackage form.   I believe
>> sbcl has a philosophy of being persnickety to help users find
>> problems of this kind.
>
> They got it the other way around then.

No.

> Portable code should use :use
> "COMMON-LISP" to restrict the set of available symbols to those
> exported from COMMON-LISP package. Nonportable code can omit :use and
> will risk having non-portable symbols defined.

Exactly.  One set of non-portable symbols is the empty set of symbols,
and SBCL's choice makes it easy to see that.

Christophe
From: Edi Weitz
Subject: Re: make-package :use sbcl
Date: 
Message-ID: <umztdex7h.fsf@agharta.de>
On 8 Mar 2005 11:20:19 -0800, ·············@gmail.com" <············@gmail.com> wrote:

> sbcl makes packages that use nothing by default. I know it is
> conformant, but all others use CL and probably more. I tried to find
> a rationale for that in SBCL's documentation, but couldn't. Is there
> an explanation anywhere?

LispWorks has HCL:*DEFAULT-PACKAGE-USE-LIST* - maybe SBCL has
something similar?

Edi.

-- 

Lisp is not dead, it just smells funny.

Real email: (replace (subseq ·········@agharta.de" 5) "edi")