ITERATE still breaks when you use `count` inside it, the built-in CL function. If they ever address that problem I'll get back to use it but having a time bomb in my programs isn't something I like.
Trivial example of breakage:
(iter (for i from 1 to 10)
(print (count i some-sequence)))
Breaks how? I'm on my phone, not a computer right now and can't test, but that should call the CL function - ITERATE uses `counting` for that particular operation to avoid conflicts; see https://iterate.common-lisp.dev/doc/Gathering-Clauses.html
I just grabbed the latest ITERATE source off of its gitlab repository, and, yeah, that bit is still giving an error:
Iterate, in (COUNT I SOME-SEQUENCE): Missing value for SOME-SEQUENCE keyword
as well as
WARNING:
COUNT appears to be used as an ITERATE clause keyword, in this sexpression: (COUNT I SOME-SEQUENCE).
This use is now deprecated and will cease to be supported in a future version. Please use the alternative keyword COUNTING instead. If you intended COUNT to be interpreted as a function call, instead of an ITERATE clause, you must find an alternative way of calling it, at present, perhaps by using FUNCALL or APPLY.
Have to use
(iter (for i from 1 to 10)
(print (funcall #'count i some-sequence)))
Guess the documentation /is/ wrong (for now, until the code finishes catching up)
Trivial example of breakage: