Continuing the discussion from Generic Sequence Concatenation:
I found the preceding thread before posting about my recent problem. I implemented the Sieve of Sundaram, which vends the odd primes, and wanted to cocanenate a CollectionOfOne
with a 2 to get the whole set. I realized that the existing joining facilities assume all the source sequences have the same type. I came up with a type similar to the Spliced
type from the parent thread.
I was thinking we could implement this someday with variadic generics, to extend it beyond two sources. Of course, I could just do what the original post did and tail-recurse the two-source version. I was thinking about what if we conditionally made the set a collection. (It would match all of Collection
and its refinements whenever all the source types match a given refinement.) But how would be implement the Index
. I used a enum
with a first
and second
case. Could we use variadic generics to generalize that to multiple cases. I'm not sure, besides using the tail-recursion for the collection and the corresponding index type (in other words, the types only each directly handle two cases).