[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)

     Hi there.

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

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