[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Packages
Date: Thursday, 13 March 1986 16:42-EST
From: MURRAY%umass-cs.csnet at CSNET-RELAY.ARPA
To: Common-Lisp at su-ai.ARPA
Re: Packages
A Truly Portable Common-Lisp program can use
ONLY the LISP package, or one that it has created
itself. If not, then it uses something that is NOT in Common-Lisp,
and therefore would have to be modified to run on a different
machine/system. Thus, I don't see what all the fuss it about.
If you use the DEBUGGER package, then your code is NOT Common-Lisp.
This has been stated before by other people (Gregor, Wienreb),
and I hope it won't need to be stated again.
Untrue, or at least not proven. Using a package doesn't imply that
any symbols from that package are used in code. Why would you use a
package when you don't use any of the symbols? My answer is that some
symbols may be part of the programming environment rather than part of
code. My program doesn't call debug:backtrace, but I do. I am
therefore not portable, but this has no direct effect on my program.
JAR suggests that this problem can be avoided by not using Lisp
symbols in the user interface. This may be a good idea, but it is not
obvious to me that Common Lisp should make impossible reasonable user
interfaces which do use symbols.
Interestingly, DCP says:
Personally, I always specify a default for MAKE-PACKAGE :USE. That's
probably because our default is to :USE only LISP, which I think is the
right thing. :USE'ing any other packages would lead to name conflicts
KMP is trying to avoid.
This leads me to conclude that he never writes a portable program, since he
always explicitly mentions non-Common Lisp packages in his :USE lists.
Rob