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
use tasks from fsharpx #125
Conversation
Signed-off-by: Alexander Prooks <aprooks@live.ru>
Signed-off-by: Alexander Prooks <aprooks@live.ru>
Signed-off-by: Alexander Prooks <aprooks@live.ru>
<* conflicts with same operator from Task library Signed-off-by: Alexander Prooks <aprooks@live.ru>
I could make
also in client code |
@aprooks what is the progress with this PR? Are you waiting on anything from me? |
@yevhen yep I need your decision on whether we keep operators and if yes confirm notify operator as it conflicts with FSharpx |
As I recall decision was to drop our since FSharp.Extras already provides these ops. Wrt to notify - we can just drop since it's extremely rate |
ok I'll drop operators and fix conflicts in a day or two |
Signed-off-by: Alexander Prooks <aprooks@live.ru>
Signed-off-by: Alexander Prooks <aprooks@live.ru>
Signed-off-by: Alexander Prooks <aprooks@live.ru>
3720631
to
e1cb885
Compare
@yevhen I think I like it even more. Verbose but reads easier. |
it lost all coolness which F# guys love :) |
In a order of reduced verbosity: do! actor.Tell <| Hi do! actor.Tell(Hi) do! actor <! Hi
What doesn't allow us to actually use 3) while still using FSharpEx.Tasks? |
|
@yevhen the only conflict issue was with Notify operator. It has different return type and thus gets overriden by FSharpX if library is opened after Orleankka. So if we remove only this one or find another one we should be good to go.
There are no any new concepts implemented atm, aren't there? My main issue with duplicated code is following. If someone uses library depending on original FSHarpEx he'll probably have some fun time resolving issues arising after that. |
I mean that you can add them if you will. Some kind of monad transformers to use Result (Railway) and compose data processing flows.
Dude, do not overestimate DRY principle. I have seen this a lot especially in OOP, when in order to save 1 method someone just adds an additional layer of inheritance via BaseClass. It's just adding complexity. And as I mention already - My intuition is saying me that better to keep Task module as Orleankka part (at least for now). |
I don't have much experience with F# so I am happy to follow your suggestions. if @Yevgen agrees with you this PR should be closed. |
No description provided.