Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!bionet!ames!haven!aplcen!jhunix!apl_aimh From: apl_aimh@jhunix.HCF.JHU.EDU (Marty Hall) Newsgroups: comp.lang.lisp Subject: Re: Problems with Lisp Packages Keywords: Packages, Constants Message-ID: <861@jhunix.HCF.JHU.EDU> Date: 24 Feb 89 20:04:09 GMT References: <117@bosco.dit.upm.es> Reply-To: apl_aimh@jhunix.UUCP (Marty Hall) Organization: AAI Corp AI Lab, JHU P/T CS Faculty Lines: 36 In <117@bosco.dit.upm.es> ibm@bosco.UUCP (Ignacio Bellido Montes) writes: > I use a Hewlett-Packard 9000-350 with Lucid Common Lisp II. I made a >group of functions which made things like: > > (DEFUN FOO (X) > (COND ((EQUAL (CAR X) 'YES) ... ) > ((EQUAL (CAR X) 'NO) ... ) > (T (PRINT 'ERROR))) > ) > > When the current package is the same where the function is defined, >the function is well evaluated. But when I use the function from another >package, using (PACKAGE-FOO::FOO), the predicate EQUAL fails. If I follow your example correctly, I think you are telling the LISP interpreter to use functions in another package, but not symbols there. For instance, assume that you define the following in package foo: (defun Equal-to-A? (Arg) (equal Arg 'A) ) Now, suppose USER or something other than FOO is the current package: > (Foo::Equal-to-A? 'A) NIL > (Foo::Equal-to-A? 'Foo::A) T Does that help at all? - Marty Hall apl_aimh@jhunix.hcf.jhu.edu Artificial Intelligence Laboratory, MS 100/601 ...uunet!jhunix!apl_aimh AAI Corporation apl_aimh@jhunix.bitnet PO Box 126 (301) 683-6455 Hunt Valley, MD 21030