[iterate-devel] Trouble using iterate (ASDF issues ?)

Hoehle, Joerg-Cyril Joerg-Cyril.Hoehle at t-systems.com
Mon Jul 2 18:15:05 UTC 2007


Hi,

Olivier Drolet wrote:
>I can't seem to get iterate to work. ... using the relevant ASDF commands,
>I hope my problem is trivial.
It is. You need to learn more about packages.

>(iter (for ...) ...)
>;   undefined function: FOR
This is the typical warning when something is evaluated like a function, because its macro definition is not known.


>Also, trying "(use-package :iter)", as suggested by Jorg Hohle, does not help:
>USE-PACKAGE #<PACKAGE "ITERATE"> causes name-conflicts in
>#<PACKAGE "COMMON-LISP-USER"> between the following symbols:
>  ITERATE:FOR, FOR
>   [Condition of type SB-INT:NAME-CONFLICT]
>
>See also:
>  Common Lisp Hyperspec, 11.1.1.2.5 [section]
>
>Restarts:
>  0: [RESOLVE-CONFLICT] Resolve conflict.

Did you go and read section 11.1.1.2.5 of CLHS?  I believe either Edit Weitz or Peter Seibel are said to have written an excellent introduction to packages, which you may check if the standard is too tough.

Did you consider learning about your debugger?  It offers you to resolve the conflict.  Please try it out.  This is not Python or Java.

The above errors clearly says that there's a conflict: You cannot say
(use-package ...) when your current package and the package to use contain different symbols of the same name.

Since you typed in
(iter (for ...))
this automatically created symbols named "ITER" and "FOR", hence the conflict with the symbols from the Iterate package of the same name.

Either resovle the conflict, or quit your Lisp, restart, then enter (use-package) *before* your write (iter (for ...)).

Or stay in that original Lisp, write (iter:iter (iter:for ...)).

You see, you have plenty of solutions...

Regards,
	Jörg Höhle



More information about the iterate-devel mailing list