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: Gabriel Dos Reis
Subject: Re: [Axiom-developer] ANSI Lisp and Axiom (Boot)
Date: 05 Mar 2007 04:44:39 -0600

Kai Kaminski <address@hidden> writes:

| 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.

It is extracted from src/boot/exports.lisp.pamphlet, with Tim listed
as \author.  I don't think it is particular to my branch.

| > [...]
| >
| > | > 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.

src/boot/boothdr.lisp.pamphlet serves similar purpose.

-- Gaby




reply via email to

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