Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Joins - Only plan upto 3 implemented in RxJava but Rx has 16 #1318

Closed
sirinath opened this issue Jun 4, 2014 · 7 comments
Closed

Joins - Only plan upto 3 implemented in RxJava but Rx has 16 #1318

sirinath opened this issue Jun 4, 2014 · 7 comments

Comments

@sirinath
Copy link

sirinath commented Jun 4, 2014

Is it possible to have larger plans for joins.

(Also besace it is not is the core concerned about how optimised the implementation is.)

@akarnokd
Copy link
Member

akarnokd commented Jun 4, 2014

That 3 was tedious to implement and there was no one at the time who needed it or understood its use case.

@sirinath
Copy link
Author

sirinath commented Jun 4, 2014

If you try to zip together about 16 streams in different combinations like DAG you will see how useful this is. Ideally there should a lot more than 16 as you will be dealing with a large number of streams to coordinate between in some cases.

@akarnokd
Copy link
Member

akarnokd commented Jun 4, 2014

One problem is that the operator requires a function callback with that arity, but we have only up to Func9. I didn't understand the operator enough so I could try with FuncN: there might be no good way to generalize to any arity with FuncN. Adding the remaining 4-9 arity version is mostly mechanical; one could always use Rx.NET as cheat-sheet, but writing tests is cumbersome.

@headinthebox
Copy link
Contributor

I'b be really surprised any human can patterns over more than 3 streams by hand because of the combinatorial explosion. Are you generating the code?

@akarnokd
Copy link
Member

akarnokd commented Jun 4, 2014

I certainly didn't. I saw Rx.NET use code generators on this. I'm not sure if we have anything similar available with Gradle and/or annotation processing.

@sirinath
Copy link
Author

sirinath commented Jun 5, 2014

Then stop at 9 and N. When you have more function arity then add accordingly.

@benjchristensen
Copy link
Member

Up to 9 was added ... closing out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants