axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] ANSI Lisp and Axiom (Boot)


From: Kai Kaminski
Subject: Re: [Axiom-developer] ANSI Lisp and Axiom (Boot)
Date: Mon, 05 Mar 2007 09:20:30 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.92 (darwin)

Gaby wrote:
>   The ANSI specification for the IN-PACKAGE syntax dictates that
> the argument must be a string, not a symbol.  SBCL gives a fatal
The hyperspec [1] says that the argument of IN-PACKAGE has to be a
string *designator*, that is either a string or a character or a
symbol. I've tested this with SBCL 1.0.2, CMUCL 19d and Allegro CL
8.0. They all accept any of #:foo, :foo, 'foo or "FOO" as argument to
IN-PACKAGE. It is usually recommended that one uses uninterned (#:) or
keyword (:) symbols rather than interned (') symbols or strings. For
one thing they don't clutter the current package and they also work
well with the "modern mode" of some CLs.

> error on that.  Furthermore, the specification also says that the
> packages LISP, USER and SYSTEM are no longer required for a
> conforming implementation.  Consequently, it is non-portable (and a
> potential source of errors) to say something like
> 
>         (in-package 'BOOTTRAN :USE '(LISP USER SYSTEM)) 
> 
> SBCL gives a fatal error.
That should probably be 

(defpackage #:boottran
  (:use #:cl))

in a file packages.lisp, and then

(in-package #:boottran)


Kai

[1] http://www.lisp.org/HyperSpec/Body/mac_in-package.html




reply via email to

[Prev in Thread] Current Thread [Next in Thread]