The problem is it's a walled garden, with its own quirky syntax; nothing that happens inside of loop is applicable outside, and the other way around.
Trivial example of breakage:
(iter (for i from 1 to 10)
(print (count i some-sequence)))
Or is the documentation wrong?
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)But yeah, that's still not something I intend to use if they make you work around what should be plain Common Lisp.
(Using a literal list or vector gives a different error)
codr7•4h ago
I made an attempt to fix that for eli: https://github.com/codr7/eli#type-checking
rjsw•4h ago
codr7•4h ago
And maybe ask yourself why you felt saying so was important to you.
dokyun•3h ago
codr7•3h ago
HexDecOctBin•2h ago
zarathustreal•2h ago
recursivecaveat•28m ago