Subject: Re: iteration should be able to do things between iterations
From: (Rob Warnock)
Date: Mon, 03 Sep 2007 21:00:56 -0500
Newsgroups: comp.lang.lisp
Message-ID: <>
Javier  <> wrote:
| > Nice. You might want to check out iterate library (http://common-
| >, 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:
| 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:
    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 $

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*


Rob Warnock			<>
627 26th Avenue			<URL:>
San Mateo, CA 94403		(650)572-2607