[iterate-devel] Warning on Corman CL

Jonathan Johansen framlingham at gmail.com
Tue Sep 15 03:15:27 UTC 2009


Hi Iterate Developers,

(This was my first email, sorry, this email got returned the first
time as I was not a member of the list, then I joined the mailing
list, then I sent the reply, and now I'm sending this email which
should be read before my reply to it - phew!)

I was trying to get Iterate to load using ASDF in CCL, but couldn't be
bothered to figure out why it wasn't working, anyway, I just loaded
the latest Iterate from darcs, and loaded package.lisp and
iterate.lisp.  It came up with two warnings:

;;; Warning: Symbol SEQUENCE-KEYWORD-LIST assumed special
;;; Warning: Symbol SEQUENCE-KEYWORD-LIST assumed special

So I looked, and while it's not obvious to me exactly what's up (I
could hazard a guess about read-time expansion of top-level forms?), I
split up the eval-when, and it made the warnings disappear!
Satisfying :).  So, this is what I did:

1399c1399
<       :above above :below below :by (by 1) :with-index with-index)))
---
>       :above above :below below :by (by 1) :with-index with-index))
1401d1400
< (eval-when (:compile-toplevel :load-toplevel :execute)

I hope it's of use.  Now, I actually tried using it in CCL, and it
didn't work :-(.  The macro expansion of (iter (for i from 1 to 10)
(print i)) came out as:

(let* ()   ; CLISP has a binding for i here.
 (block nil
   (tagbody (progn)   ; Missing initialisation?
    loop-top-nil (progn (for i from 1 to 10) (print i))   ; Unexpanded for?
            (progn)
            (go loop-top-nil)
            (progn))
   nil))

I'll have to have a closer look some time...  Does anyone test Iterate
in CCL?  I wrote some array code using Iterate, including a guassian
elimination routine :), and I don't want to have to rewrite it to run
it in CCL.

P.S.  I really like Iterate, it is better than loop :).

Cheers,
Jonathan Johansen (not subscribed)




More information about the iterate-devel mailing list