scala3-example-project VS dotty-cps-async

Compare scala3-example-project vs dotty-cps-async and see what are their differences.


An example sbt project that compiles using Dotty (by scala)
Our great sponsors
  • SonarLint - Clean code begins in your IDE with SonarLint
  • Scout APM - Truly a developer’s best friend
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • - Download’s Tech Salary Report
scala3-example-project dotty-cps-async
3 7
321 117
0.0% -
5.7 9.2
23 days ago 10 days ago
Scala Scala
Creative Commons Zero v1.0 Universal Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of scala3-example-project. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-03-14.


Posts with mentions or reviews of dotty-cps-async. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-02-17.
  • New Scala 3 Codebases
    6 projects | | 17 Feb 2022
  • Dotty-cps-async 0.9.7 is released.
    4 projects | | 26 Jan 2022
    This is a generic async/await transformer for scala3 which allows using effectful monads in the direct style. URL: ( )
  • Language-assisted Flattening
    2 projects | | 14 Jul 2021
    dotty-cps-async [rssh/dotty-cps-async ] with automatic coloring do something very similar in two steps. Automatic coloring defines implicit conversion F[A] => A as x => await(x)(m). The compiler inserts those awaits inside async blocks and then eliminates them later via cps-transform. Exists some limitations which we need to add for effect monads like IO (we don't want run effect twice and don't want to screw semantics of effects by extra memoizing). So, if your language has a possibility to implement effect monads, then you need a possibility to restrict using Flattenable.

What are some alternatives?

When comparing scala3-example-project and dotty-cps-async you can also consider the following projects:

cats-parse - A parsing library for the cats ecosystem

scala-3-crash-course - Scala 3 workshop presenting the top new features of the language.

scala-3-migration-guide - The Scala 3 migration guide for everyone.

Rx.NET - The Reactive Extensions for .NET

jsoniter-scala - Scala macros for compile-time generation of safe and ultra-fast JSON codecs

woof - A pure Scala 3 logging library with no reflection

scala-gopher - Implementation of CSP constructions (Communication Sequence Process, i.e. go-like channels) in scala

libretto - Declarative concurrency and stream processing library for Scala


sauerkraut - A reimagined scala-pickling in the Scala 3 world

ansicon - Process ANSI escape sequences for Windows console programs.