-
Notifications
You must be signed in to change notification settings - Fork 0
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
Unclear relation to *Observable* proposal #2
Comments
Yes. The idea is to replace observables entirely with a simpler, more flexible abstraction that offers much better built-in support for dual-channel communication, up to and including being aware of downstream errors and completion. (This enables infinite streams to fulfill a similar purpose to infinite iterators, and it allows Node's behavior of closing source file streams on target error and completion.) It also lacks any inherent "unsubscribe" operation, instead falling back on an eventual cancellation proposal to handle that. So while fundamentally, they're similar, they aren't quite the same and this one is strictly more flexible. |
Thanks, that's good to know. I can see how your proposal is much more flexible (and indeed a better abstraction regarding purity), yet it seems to fail on the simplicity aspect. Or I'm just not familiar with the complexity of observables 😄. |
Try implementing an observable library some time. 😉 (It sounds really easy, but it gets hairy quick - there's a lot of hidden complexity.)
Haven't gotten around to actively pushing for it, mainly due to lack of time. |
Oh, I did, years ago, to play with functional reactive programming. I also implemented various promise libraries, including an algebraic one with support for cancellation (unsubscribing |
Quickly skimming the readme, your streams proposal seems to target the same use cases as observables - surely you're aware since you were active there as well. Can you please clarify how you expect the two to interact? Is the streams proposal supposed to supersede the observables proposal?
The text was updated successfully, but these errors were encountered: