experimental CPS transformer for dotty
I'm the creator of this project. My country, Ukraine, is being invaded by the Russian Federation, right now. If you want to help my country to fight, consider donating to charity supporting Ukrainian army. More options is described on support ukraine site.
This is the implementation of async/await transformation for Scala 3 (Dotty), based on an optimized version of CPS (Continuation Passing Style) transformation, where the continuation is ‘pushed’ to the monad.
CpsAsyncMonad
type class. You can provide those methods for your favorite monad.urls.map(fetchData(_))(await _ )
is an idiomatic way to fetch data for all items in parallel.For more details, please, read the documentation at https://rssh.github.io/dotty-cps-async/.
Embedding generic monadic transformers into scala.
Scala3 & Async: Behind Futures.
Can we free concurrent programming from the monadic style?