scala3-example-project
An example sbt project that compiles using Dotty (by scala)
dotty-cps-async
experimental CPS transformer for dotty (by rssh)
Our great sponsors
scala3-example-project | dotty-cps-async | |
---|---|---|
3 | 10 | |
333 | 170 | |
1.2% | - | |
6.3 | 9.4 | |
4 days ago | 5 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.
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.
scala3-example-project
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.
-
Issues setting up Scala 3 on Windows w/Coursier
However, using the scala/scalac shell scripts directly is rarely what you want in practice. I recommend either setting up a project using sbt (you can start from the template at https://github.com/scala/scala3-example-project) or using scala-cli.
- What are resources to learn/get up to speed with Scala3 for experienced Scala2 dev?
-
Does anyone know if scala parser combinators library works for scala 3?
Only 1.2.0-M1 has been published for Scala 3 so you need to use that version: https://repo1.maven.org/maven2/org/scala-lang/modules/scala-parser-combinators_3.0.0-M3/ (or fallback to the Scala 2 version using withDottyCompat, cf https://github.com/scala/scala3-example-project#getting-your-project-to-compile-with-dotty)
dotty-cps-async
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 2023-01-29.
-
Help a Kotlin convert back into Scala world
Now in scala we have direct mode transformers: dotty-cps-async [https://github.com/rssh/dotty-cps-async] with cps-async-connect [https://github.com/rssh/cps-async-connect ] supports all well-knowm monad stacks, for ZIO also exists ZIO-direct [https://github.com/zio/zio-direct ] , for IO - cats-effect-cps [https://github.com/typelevel/cats-effect-cps ], for kyo [https://github.com/fwbrasil/kyo ] - kyo-direct.
-
dotty-cps-async 0.9.12 is out
dotty-cps-async: https://github.com/rssh/dotty-cps-async
-
The case against Effect Systems (e.g., the IO data type)
Hmm, you can write direct-style code with monad: https://github.com/rssh/dotty-cps-async allows this, exists support libraries exist for near all well-known effect systems: https://github.com/rssh/cps-async-connect, so you can use async/await with IO/ZIO the same as with Future. Although in IO style, any operation that mutates state is async, it's hard to write code where you should place `await` near each line. And it looks like automatic coloring is a too radical change of concepts for most functional programmers. The option to allow using <- in the direct style may be more popular, but this requires changes to the scala core. Another question - are we need effective systems to be present in each program in industrial-style development? Here I agree that mostly no.
- dotty-cps-async 0.9.11 is out. (bugfixes and experimental loom support)
- dotty-cps-async 0.9.9
- New Scala 3 Codebases
- Also dotty-cps-async 0.9.8 with scala-native support
- dotty-cps-async 0.9.8 with scala-native support
-
Dotty-cps-async 0.9.7 is released.
This is a generic async/await transformer for scala3 which allows using effectful monads in the direct style. URL: (https://github.com/rssh/dotty-cps-async )
-
Language-assisted Flattening
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
cps-async-connect
scala-3-migration-guide - The Scala 3 migration guide for everyone.
scala-3-crash-course - Scala 3 workshop presenting the top new features of the language.
Rx.NET - The Reactive Extensions for .NET
rust-langdev - Language development libraries for Rust
scala-gopher - Implementation of CSP constructions (Communication Sequence Process, i.e. go-like channels) in scala
ansicon - Process ANSI escape sequences for Windows console programs.
libretto - Declarative concurrency and stream processing library for Scala
dotty - The Scala 3 compiler, also known as Dotty.
dedav4s - Declarative Data Viz 4 Scala
scala3-example-project vs cats-parse
dotty-cps-async vs cps-async-connect
scala3-example-project vs scala-3-migration-guide
dotty-cps-async vs scala-3-migration-guide
scala3-example-project vs scala-3-crash-course
dotty-cps-async vs Rx.NET
scala3-example-project vs rust-langdev
dotty-cps-async vs scala-gopher
scala3-example-project vs ansicon
dotty-cps-async vs libretto
scala3-example-project vs dotty
dotty-cps-async vs dedav4s