[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
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.
The problem is your program's package names may conflict with
an already existing one. Common-Lisp seems to have already
provided the solution: Have source
files use a DEFVARiable for all the packages referred to.
The variable can be bound to a package that has a non-conflicting
name for any given implementation. However, now you can only
refer to symbols in another package that have been Imported, since
you can't use a package prefix on a symbol, but once code is
ready for Porting, conflicts within the program would be known,
and there would be no need for prefixing. During development,
you would know the name of the package.
Kelly Murray