Javier <javuchi@gmail.com> wrote:
+---------------
| > Nice. You might want to check out iterate library (http://common-
| > lisp.net/project/iterate/), it solves almost any iteration needs.
|
| I'm trying to use that package, which works great except that it
| raises an error when trying to use (use-package 'iterator):
|
| USE-PACKAGE #<PACKAGE "ITERATE"> causes name-conflicts in
| #<PACKAGE "COMMON-LISP-USER"> between the following symbols:
| ITERATE:ITERATE, ITERATE
|
| It allows me to continue loading it, and it works, but it is not
| convenient that every time I open a file using the package ITERATOR,
| it enters into the debugger. How can I avoid this error?
+---------------
If you're using CMUCL [or maybe SBCL?], the problem is the current
package COMMON-LISP-USER already USEs the CMUCL EXTENSIONS package,
and there's already an ITERATE macro there:
cmu> (describe 'ITERATE)
ITERATE is an external symbol in the EXTENSIONS package.
Macro-function: #<Byte function (:MACRO ITERATE) {28FA89D1}>
Macro documentation:
Iterate Name ({(Var Initial-Value)}*) Declaration* Form*
This is syntactic sugar for Labels. It creates a local function Name with
the specified Vars as its arguments and the Declarations and Forms as its
body. This function is then called with the Initial-Values, and the result
of the call is return from the macro.
On Wednesday, 11/16/05 05:13:44 pm PST it was compiled from:
target:code/extensions.lisp
Created: Sunday, 10/5/03 04:41:22 am PDT
Comment: $Header: /project/cmucl/cvsroot/src/code/extensions.lisp,v 1.28 2003/
10/05 11:41:22 gerd Exp $
cmu>
So in order to USE the ITERATOR package [and as a parellel reply
noted, that might not be te best thing to do], you will need to do
a shadowing import of ITERATE:ITERATE into COMMON-LISP-USER *before*
doing a (USE-PACKAGE "ITERATOR").
-Rob
-----
Rob Warnock <rpw3@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607