Hey everyone, I am new to the language and have a question about how Tasks work.
Do Tasks allow you to achieve concurrency similar to async/await in other languages? I was looking at the basic-cli platform and I noticed that there are some utility functions for sequentially awaiting Tasks in a List but not for executing them in parallel (similar to Promise.all in JavaScript).
I supposed a large part of it is to do with how the Task is implemented by the platform and that Tasks can be used to achieve varying levels of concurrency based on how the platform actually executes the "top level" tasks. Am I on the right track with this line of thinking?
that's right!
an important detail is that the representation we currently use limits the ways platforms can implement concurrency; we're working on moving to a new representation that will give them much more flexibility
Awesome! I'm really excited about how the language handles platforms and applications. I think a lot of high-level languages would benefit from a similar approach.
Last updated: Jul 06 2025 at 12:14 UTC