As said in the title. There are several options to solve this problem:
- Introduce the 1-arity only for
(partition n coll), which keeps the current standard pattern. It doesn't however allow the other arities and attempting to call
(partition n step) or
(partition n step coll) would result to unexpected behavior. That could be solved by checks of
(seqable? step-or-coll) or similar things.
- The 1-arity would be passed as a vector. That could solve the arity collision problem but itwould break the pattern.
- Introduce a function like
partition-xf that would do the work. The only issues could be that this function only returns a transducer, which is not common and that some people could expect the
partition function to return a transducer if called like
(partition n step), but I think it's just about getting used to it like everything else.