[Top][All Lists]
[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.
- [Axiom-developer] ANSI Lisp and Axiom (Boot), Gabriel Dos Reis, 2007/03/04
- [Axiom-developer] ANSI Lisp and Axiom (Boot), daly, 2007/03/05
- Re: [Axiom-developer] ANSI Lisp and Axiom (Boot), Gabriel Dos Reis, 2007/03/05
- Re: [Axiom-developer] ANSI Lisp and Axiom (Boot), Kai Kaminski, 2007/03/05
- Re: [Axiom-developer] ANSI Lisp and Axiom (Boot), Gabriel Dos Reis, 2007/03/05
- Re: [Axiom-developer] ANSI Lisp and Axiom (Boot), Humberto Ortiz-Zuazaga, 2007/03/05
- Re: [Axiom-developer] ANSI Lisp and Axiom (Boot), Gabriel Dos Reis, 2007/03/05