Mirko,

>Are you implying that instead of lambda forms one should define the
>functions and use function names.
No. Just look at the examples in the source code, incl. tests.
The key is to write #'(lambda ...) aka. (function (lambda ...)), not (lambda 
...)

Remember that Iterate is based on a code walker, macrology and plumbing
code snippets into other code snippets.
(lambda ...) is a macro not recognized by Iterate in defclause-sequence.
OTOH, function (#') is a well-known special form.

>all lambda expressions need to be replaced by function symbols.  Correct?
Wrong. You can, you need not.
#'(lambda ...) may allow better inlining, with every optimizing compiler out 
there.

>FWIW, I could not reproduce my problem on clisp.
Like others said, CLISP, based its byte code, can write an externalisation
of the function to the .FAS file, but this just hides the bug in gsd's code.

Please submit a patch to the authors of gsd/gsll.

BTW, I'd throw the ASSERT out of every accessor and move it into the loop
initialization.  Why repeat it 1000000 times when once is enough?
Why is it in defclause-sequence only and not in the FOR driver?  Are these
remains from a debugging session?

Regards,
 Jörg Höhle

_______________________________________________
iterate-devel site list
iterate-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/iterate-devel

Reply via email to