StructuredConcurrency
gears
StructuredConcurrency | gears | |
---|---|---|
1 | 4 | |
254 | 220 | |
- | 5.9% | |
6.7 | 9.1 | |
about 1 year ago | 4 days ago | |
C# | Scala | |
MIT License | Apache License 2.0 |
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.
StructuredConcurrency
-
The compact overview of JDK 21’s “frozen” feature list
While virtual threads will be stable in Java 21, Structured Concurrency is still a preview feature. You probably won't see it in production anytime soon.
Preview features require a special flag when compiling and running them, and they won't run on newer versions of the JVM. I don't expect to see StructuredTaskScope in common production use before the next LTS version is out.
But it doesn't mean you cannot have structured concurrency before that. Even in language that mostly enforce Structured Concurrency like Kotlin, it's still a library feature. Even the original blog post which formulated this concept, described a library that implemented structured concurrency for Python[1]. You can pretty easily implement structured concurrency yourself by creating your own implementation of StructuredTaskScope, if you need it right now. You can even structured concurrency in C#[2] or Go[3].
[1] https://vorpus.org/blog/notes-on-structured-concurrency-or-g...
[2] https://github.com/StephenCleary/StructuredConcurrency
[3] https://github.com/sourcegraph/conc
gears
-
`boundary/break`: do you use it ? what do you do with it ?
You can look (and EPFL collect feedback) about EPFL implementation of async/await: https://github.com/lampepfl/async. Also you can look at dotty ticket about this: https://github.com/lampepfl/dotty/pull/16739
-
The compact overview of JDK 21’s “frozen” feature list
5. First-class support for asynchronous programming. With "suspend" in Kotlin and a current prototype being done in Scala 3:
- REPO: https://github.com/lampepfl/async | SLIDES: https://github.com/lampepfl/async/blob/main/scalar-slides.pd... | YOUTUBE TALK: https://www.youtube.com/watch?v=0Fm0y4K4YO8
- A strawman for a low-level async library in Scala 3
- What does direct-style Scala mean for Cats Effect and Zio?
What are some alternatives?
JDK - JDK main-line development https://openjdk.org/projects/jdk
scala-3.3-breaking-the-boundary - Scala 3.3 boundaries + bleep playground
conc - Better structured concurrency for go
kotlin - The Kotlin Programming Language.
runtimelab - This repo is for experimentation and exploring new ideas that may or may not make it into the main dotnet/runtime repo.
semver - Semantic Versioning Specification
dotty - The Scala 3 compiler, also known as Dotty.