I have an issue with these 2 functions: They have a run-time stopping condition.

This is bad on several counts:
1. Piss poor performance. Also, the "safe" default of "shortest" doen't help. 2. Traits support. In particular, things like length, empty or infinite. Mixing inifinite and non-inifinite ranges creates something that may or may not be infinite...

These issues are *not* solvable "in-place". The only solution is a new range, but that takes its argument statically. I think it would have big net benefits. And it would break nothing, since we could keep around zip/lockstep (but not recommend them).

I'd want to start working on this, but I wanted to touch on a few things here first:
1. Name? I'd need a name for this. Any thoughts?
2. Default value? AFAIK, *all* the times I've seen Zip/Lockstep in action, it was on ranges that had the same length, yet used the default "shortest" option, which is bad. I think it would be better to default on `requireSameLength`, and have shortest/longuest as explicit requests.

Thoughts? Suggestions for names?

Reply via email to