paper

Embedding generic monadic transformer into Scala

arXiv:2209.10941 · doi:10.1007/978-3-031-21314-4_1

Abstract

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.

Accepted to publication into "Trends of Functional Programming 2022"