Future, akka-stream, scalaz-stream
@viktorklang @a4dev More like an abstraction induced limitation. :-) Useful tools that should work on Future but don’t understand EC.
2014-09-20 10:38:11@djspiewak I'm perpetually surprised at the low standard there is for encoding protocols with state machines in modern libraries/languages.
2014-09-20 10:38:17@viktorklang @a4dev I have application level code that runs into similar problems, but it’s harder to exemplify in a tweet.
2014-09-20 10:38:22@djspiewak Make an ExecutionContextT and run over that instead? :-) /cc @a4dev
2014-09-20 10:39:22@viktorklang It really is astonishing! It seems like such an obvious thing to make elegant.
2014-09-20 10:39:45@viktorklang @a4dev Well yes, that would sort of do it. That’s effectively what Scalaz’s FutureMonad does internally.
2014-09-20 10:40:30@vikasdp I could write a blog post on Scala Futures, @djspiewak is much more knowledgeable than I when it comes to scalaz Futures.
2014-09-21 00:13:36@nuttycom 1)You create a promise, add computation to its future, you pass that future along, -> you complete the promise at your discretion.
2014-09-21 00:37:23@nuttycom or 2)you create your initial future with an EC you control the execution of, and then pass the future on to 3rd party. then run EC
2014-09-21 00:38:19@viktorklang @djspiewak Viktor, I don’t understand your statement here. RxJava is push unless the consumer is slow then it flips.
2014-09-23 02:08:03@viktorklang @djspiewak Ah, if I understand, you’re saying that Akka Streams and RxJava are dynamic push-pull, is that correct?
2014-09-23 02:10:22@benjchristensen @viktorklang We were saying that earlier, Ben, just imprecisely. Akka streams and RxJava both do the same thing there.
2014-09-23 02:10:55@benjchristensen @viktorklang Yep! In truth, scalaz-stream is also hybrid push/pull, but explicit (not dynamic) and slightly obfuscated.
2014-09-23 02:11:55@djspiewak @viktorklang got it, as this space evolves terminology changes too :-) and I’ve proven to be bad at naming things.
2014-09-23 02:14:38@djspiewak @viktorklang “reactive pull” is the name @headinthebox and I have been using for this dynamic push/pull model
2014-09-23 02:16:01@benjchristensen @viktorklang @headinthebox Oh great, *another* meaning for the word "reactive"… ;-)
2014-09-23 02:21:17@benjchristensen @viktorklang @headinthebox I think hybrid push/pull is a little more descriptive.
2014-09-23 02:21:32@benjchristensen @viktorklang @headinthebox The real problem is that basically all serious stream frameworks are hybrids in some way.
2014-09-23 02:21:52@benjchristensen @viktorklang @headinthebox If you don't have pull, your backpressure is non-existent. If you don't support push, bad perf.
2014-09-23 02:22:12