Hi!
I'm experimenting with iterate and wanted to use it for a simple
sequence splitting function (yeah, I know about the SPLIT-SEQUENCE
lib):
(defun split (seq pred)
(iter (for el in-sequence seq)
(if (funcall pred el)
(collect el into sat result-type (type-of seq))
(collect el into nsat result-type (type-of seq)))
(finally (return (values sat nsat)))))
But such a construct won't work because result-type is recognized as a
literal (not evaluated). I think it's rather a bug, than a feature,
because this somewhat inhibits the possibilities of programmatic
extension of the ITER macro. Isn't it?
Best regards,
Vsevolod