Dotty-cps-async is an open-source package that consists of scala macro, which implements generic async/await via monadic cps transform, and library, which provides monadic substitutions for higher-order functions from the standard library. It allows developers to use direct control flow constructions of the base language instead of monadic DSL for various applications. Behind well-known async/await operations, the package provides options for transforming higher-order function applications, generating call-chain proxies, and automatic coloring.
Cite
@article{arxiv.2209.10941,
title = {Embedding generic monadic transformer into Scala},
author = {Ruslan Shevchenko},
journal= {arXiv preprint arXiv:2209.10941},
year = {2023}
}
Comments
Accepted to publication into "Trends of Functional Programming 2022"