[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
A stupid question
- To: leavens@bambam.cs.iastate.edu
- Subject: A stupid question
- From: smh@franz.com (Steve Haflich)
- Date: Fri, 15 Jun 90 08:55:36 PDT
- Cc: CommonLoops.pa@Xerox.COM
- In-reply-to: Gary Leavens's message of Wed, 13 Jun 90 13:45:55 CDT <9006131845.AA02325@bambam.cs.iastate.edu>
- Redistributed: CommonLoops.pa
From: leavens@bambam.cs.iastate.edu (Gary Leavens)
(defclass foo () ())
but I get an error:
Error: The function DEFCLASS is undefined.
Error signalled by EVAL.
However, (pcl:defclass foo () ()) works. But does one always have to qualify
such symbols? To avoid this I tried executing
(use-package 'pcl)
but I get the following:
Error: Cannot use #<"PCL" package>
from #<"USER" package>,
because PCL:DEFCLASS and DEFCLASS will cause
a name conflict.
Error signalled by USE-PACKAGE.
That seems odd, given the previous error....
The USE-PACKAGE error happens because you created the symbol
USER::DEFCLASS when you typed the first DEFCLASS form. The subsequent
attempt to inherit PCL:DEFCLASS causes a name conflict. This error
would not have happened if you hadn't already typed the first form.
CLtL1 (p.178 ff) requires this error to be continuable, but I don't
know if KCL supports this continuation. Alternatively, you could have
removed the mistaken symbol from the USER package using UNINTERN.