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

Support for asynchronous operations #36

Open
jsec opened this issue Jun 18, 2022 · 7 comments
Open

Support for asynchronous operations #36

jsec opened this issue Jun 18, 2022 · 7 comments
Assignees

Comments

@jsec
Copy link

jsec commented Jun 18, 2022

Hey there, loving the library thus far.

I was wondering if pipe and flow support async functions without needing to wrap them in an IIFE. Purify supports this via their MaybeAsync and EitherAsync wrappers, and I believe Ramda also supports this via the composeWith and pipeWith functions.

I'm currently evaluating replacing Ramda with either this library or Purify, but to reduce the amount of churn, being able to support async ops in a composition is ideal.

@mobily mobily self-assigned this Jul 31, 2022
@WidgetKing
Copy link

+1 from me.

My personal preference for this would be a third kind of monad. A ts-belt equivalent of fp-ts's TaskEither would plug what at least to me feels like a major hole.

@alexn-s
Copy link

alexn-s commented Aug 25, 2022

i just looked for alternatives for fp-ts and about 1/3 of my code is async (playwright, puppeteer, ...) and i need a TaskEither equivalent. sadly purify-ts does not have compose/ flow/ pipe functions but async support. a mix between ts-belt and purify would be quite awesome.

besides that i really like ts-belt. it is intuitive and not as cumbersome & overkill as fp-ts

@mobily
Copy link
Owner

mobily commented Aug 26, 2022

@jsec @WidgetKing @alexn-s hey there! 👋 this is definitely on my roadmap, sneak peek: I'm currently working on three following modules:

  • Async (equivalent to fp-ts Task)
  • AsyncResult (TaskEither)
  • AsyncData

all of them will be published in one of the subsequent releases (it takes a vast amount of time to adjust ReScript to TS in this particular case tho)

@stychu
Copy link

stychu commented Oct 16, 2022

How long till this will be published ?👌

@mobily
Copy link
Owner

mobily commented Oct 21, 2022

@stychu I suppose it will be published by the end of this month, the implementation of all Async modules is done (tested internally on a mid-sized project), and at the moment I'm working on a brand new documentation site :) sorry, that you need to wait for a new version so long!

@WidgetKing
Copy link

Thanks for the update @mobily! And thank you for all the time and effort you put into this library.
Take your time. We know good things come to those who wait.

@mobily
Copy link
Owner

mobily commented Nov 2, 2022

@stychu @alexn-s @jsec @WidgetKing
I suggest reading the following issue: #51 still working on the docs, nevertheless, I feel the next version is ready for wider testing 🚀

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

No branches or pull requests

5 participants