[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: SCT and DEFPACKAGE question
Date: Mon 11 Jul 88 17:10:26-PDT
From: NIENART@PLUTO.ARC.NASA.GOV (John Nienart)
I've got some puzzling behavior that I hope someone can explain to me.
I'm developing a KEE application that I recently developed a system
definition for. It's in its own package, call it X. Before switching to
SCT, the first file I loaded defined package X using straight Common
LISP. Now, following the Symbolics documentation, I have a DEFPACKAGE
form at the beginning of my SYSDCL file.
The package definition is pretty hairy, at least to me. Package X is
defined to use the KEE and LISP packages, and a couple of KEE-internal
packages. The DEFPACKAGE includes multiple :IMPORT and :EXPORT clauses.
After the defpackage, I do (use-package '(x) 'kee) so my external symbols
will be available in the KEE lisp listener (which should read in the KEE
I don't think packages are defined to work correctly for non-tree
inheritance. You have X use KEE and KEE use X and I suspect your problem
stems from that. You can easily end up with different symbols accessible in
each package that shadow the other.
I'm sure that's not the problem. I've done this sort of of package
madness before, and it has always worked fine. In particular, when I
just used a combination of IN-PACKAGE, IMPORT, EXPORT, and USE-PACKAGE
the stuff was fine. I know I can get the behavior I want if I go back
to this system, and I was only curious as to why DEFPACKAGE behaved
the way it seemed to.