Subject: Re: iteration should be able to do things between iterations
From: rpw3@rpw3.org (Rob Warnock)
Date: Mon, 03 Sep 2007 21:00:56 -0500
Newsgroups: comp.lang.lisp
Message-ID: <48idnWcj8cvFIUHbnZ2dnUVZ_rignZ2d@speakeasy.net>
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