Generic `concatenate` and `flatten`
This PR enables concatenate and flatten to accept streams of things that aren't just lists. For now I've expanded this to include vectors, which implicitly supports strings as well.
(transduce #'concatenate
#'cons (list (cl:vector 1 2 3) (cl:list 4 5 6) (cl:vector 7 8 9)))
yields
(1 2 3 4 5 6 7 8 9)
Solves my issue, but looks like a game of Whac-A-Mole. It should preferably work on all kinds of inputs, not hardcoded to just list and vector. But it's an improvement :+1: Could a generic method be created for determining if which reducer should be used?
Could a generic method be created for determining if which reducer should be used?
I'll look into this. It occurs to me that many (all?) of the foo-transduce functions may initialise themselves the same way, and then call their inner reducers.
Let's revisit this after I'm back. Thanks for your patience.
I need this today, so I'm merging it in.