Elm Concurrent Task v1.0.0

Hello friends,

I’m excited to announce elm-concurrent-task v1.0.0 is released :tada:

This package lets you:

  • Run a tree of Tasks concurrently.
  • Safely call external JS as Tasks (also known as Task Ports).
  • Run anywhere without any hacks (in the Browser or NodeJS).

A big thank you to @dillonkearns for the idea and support, and @choonkeat for testing, feedback and contributions.

13 Likes

Congrats! it made me think of elm-procedure 1.1.1

Thanks!

It’s similar in spirit to elm-procedure (making sequencing side effects nicer), but from my understanding the key differences are:

  • It performs sub-procedures sequentially (Procedure.map2 has similar behaviour to elm/core’s Task.map2)
  • If you’re using ports and you’re expecting a value on the other side you still have to wire together Commands and Subscriptions together via Procedure and Channel.

Whereas elm-concurrent-task:

  • Performs map2+ (and nested map2+) concurrently.
  • Is more oriented around a Request/Response style - i.e. call an external function an expect a value back (you can do this with Task in elm-procedure but you lose the concurrency bit).
1 Like

My app uses TaskPorts, and I use packages that provide namespaced taskports. It’s not super clear to what extent I would have to ditch them or work around them if I want to migrate to this package. A guide on this would be awesome!

This is super exciting news, congrats on the release! :tada: Running a tree of Tasks concurrently sounds like a game-changer, especially for more complex applications. And the seamless integration with external JS is something that’s much needed in the Elm community.

Shoutout to @dillonkearns and @choonkeat for their contributions! Can’t wait to dig into elm-concurrent-task and see what it can do.

2 Likes

This sounds like a great addition to our ecosystem. Excited to dive in.

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.