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 11:38:46 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.92 (darwin)

Gabriel Dos Reis <address@hidden> writes:

> Kai Kaminski <address@hidden> writes:
>
> | 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.
>
> I'm using SBCL 1.0.2.  Here is what I got when I sent the message:
>
> sbcl --noinform --noprint --eval '(compile-file "exports.lisp" :output-file 
> "exports.o")'
> ; compiling file "/home/gdr/build/axiom/src/boot/exports.lisp" (written 04 
> MAR 2007 08:41:33 PM):
> ; compiling (IN-PACKAGE (QUOTE BOOTTRAN))
> ; file: /home/gdr/build/axiom/src/boot/exports.lisp
> ; in: IN-PACKAGE 'BOOTTRAN
> ;     (IN-PACKAGE 'BOOTTRAN)
> ; 
> ; caught ERROR:
> ;   (during macroexpansion of (IN-PACKAGE 'BOOTTRAN))
> ;   'BOOTTRAN cannot be coerced to a string.
>
>
> Which I interpret as an error on using a symbol in place of a string.
> How should it be read?
Good one. I'll look into this, but I can't find EXPORTS.LISP in my
Axiom tree. I'll download your branch and look for it there.

> [...]
>
> | > 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
>
> Does the file *name* matter?
No, not at all. But it is customary to put your package definition,
i.e. the DEFPACKAGE forms, in a single file called either
PACKAGES.LISP, PACKAGE.LISP or DEFPACKAGE.LISP.

Kai

PS: Lisp is all lower-case nowadays. I only capitalize Lisp identifiers and
file names in my posts to make them stand out from normal text.




reply via email to

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