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

Add combinators in the Async module #318

baronfel opened this issue Oct 20, 2016 · 0 comments


Copy link

@baronfel baronfel commented Oct 20, 2016

Add combinators in the Async module [6367266]

Submitted by Loic Denuziere on 8/30/2014 12:00:00 AM
16 votes on UserVoice prior to migration

I think the Async module could use some extra functions, such as:

  • Async.Map : ('a -> 'b) -> Async<'a> -> Async<'b>
  • Async.Bind : ('a -> Async<'b>) -> Async<'a> -> Async<'b>
    (I guess this would just be a curried, static version of async.Bind)
  • Potentially other classic functor/monadic operations (filter, etc)
  • Async.ParallelChoice : seq<Async<'a>> -> Async<'a>
    (similar to Async.Parallel, except it stops as soon as one returns and cancels the others)
    Most functor/monadic operations are trivial to implement for yourself, but would still be nice to have as standard. ParallelChoice, on the other hand, is not obvious to get right and is useful even if you exclusively use a computation expression style (I've seen it requested several times on Stack Overflow).


** by fslang-admin on 2/5/2016 12:00:00 AM **

Declining per my comment (note, Async.Choice has been added in a separate request)
Don Syme
F# Language and Core Library Evolution

Original UserVoice Submission
Archived Uservoice Comments

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
1 participant
You can’t perform that action at this time.