Philipp Stephani <p.stephani2@gmail.com> writes:
>>> - Coupling of unrelated entities is always an antipattern.
>>> - For N iterables and M looping constructs, you need to implement
>>> N*M integrations.
>
> Yes, I don't care about Common Lisp. The iter-by clause is less of a
> problem than 'buffers' etc. because it's not a one-off that couples a
> looping construct with some random semantics.
It's sort of related to Drew's concerns in that Emacs deals with the N*M
problem by setting M=1, hence why only cl-loop gets the pressure to add
more enhancments.
There are some practical problem with iter-defun though: it has several
bugs on which there doesn't seem to be any movement[1][2][3],
That's unfortunate, because it's a really well-designed library. Stefan has apparently resumed work on these issues (e.g commit 89898e43c7ceef28bb3c2116b4d8a3ec96d9c8da), so let's hope they will be fixed eventually.
it's
reported to be slow[4], and cl-loop's iter-by keyword is not documented
at all (that could be easily fixed, at least). I wonder if streams[5]
is a better direction.
Maybe, though I'd be hesitant to add yet another library for the same thing to Emacs, and I much prefer generator.el's interface.