FS2
ScalaCheck
Our great sponsors
FS2 | ScalaCheck | |
---|---|---|
17 | 3 | |
2,311 | 1,928 | |
0.8% | 0.8% | |
9.5 | 8.3 | |
about 16 hours ago | 3 days ago | |
Scala | Scala | |
GNU General Public License v3.0 or later | BSD 3-clause "New" or "Revised" License |
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.
FS2
-
Ask HN: What are some of the most elegant codebases in your favorite language?
fs2 (reactive streaming, https://github.com/typelevel/fs2) written in Scala. It shows how nicely things can compose in a typesafe way if the language supports it.
And then, the opposite is Monix (https://monix.io/). It's also about reactive streaming and the API is great, but the inner code is ugly because it sacrifices readability/composability for performance.
-
The Great Concurrency Smackdown: ZIO versus JDK by John A. De Goes
Recently, CE3 has had similar issues reported across multiple repositories, almost an epidemic of reports!
-
Parallel streaming in Haskell: Part 1 – Fast, efficient, and fun
Thanks for the explanation!
So it's pull based and not push based like most other streams lib.
Does maybe someone know how this compares to FS2 or Iteratees than? (Both are also pull based streaming solutions).
https://en.wikipedia.org/wiki/Iteratee
Looks quite similar to me. Is the Scala FS2 lib maybe even a clones of the Haskell solution? Or are they different in important aspects?
-
Grasping the concepts and getting them down to earth
Most important/known: * https://http4s.org/ - an HTTP client/server * https://github.com/typelevel/fs2 - streaming * https://github.com/tpolecat/doobie - JDBC
-
Should I Move From PHP to Node/Express?
On the contrary, switching to the functional mindset, with something like Typelevel Scala3 and respective cats and cats-effect fs2 frameworks, helps to rethink a lot of designs and development approaches.
-
Is Scala a good choice for a data intensive web backend?
fs2 for streaming.
-
ScalablyTyped publishes Scala 3 support
As of very recently, we're using ScalablyTyped in our fs2-io cross build for node. https://github.com/typelevel/fs2/pull/2453
-
Improving akka http code
In that case, it's best to keep different streaming libraries separate, in their own little "worlds". fs2 + cats has Queues for this purpose https://fs2.io/#/concurrency-primitives. Future has the Promise abstraction.
-
Scala 3 is here!
ScalaZ was changed to cats-effect. For streaming, look at fs2. Cats-effect 3 cleans up a lot of the library, but as with any code it can be clean or messy depending on the dev
ScalaCheck
-
How to Survive Your Project's First 100k Lines
Regarding numbers 2 and 3, I believe you are describing "property-based testing"[0]. A Scala version of this is ScalaCheck and can be found here[1].
There appears to be at least one Rust library which claims to provide same, but I am not a Rust developer so cannot recommend any for fitness of purpose.
0 - https://hypothesis.works/articles/what-is-property-based-tes...
1 - https://github.com/typelevel/scalacheck/blob/main/doc/UserGu...
-
Friction-less scala - Tell us what is causing friction in your day-to-day life with Scala
And the readmes and tutorials written for the major libraries are some of the best, and most concise out there. Seriously, even the old stuff, like scalacheck's guide is really good. Compare that to hypothesis. The hypothesis uses readthedocs, but other than the window dressing, much better. Try to find similar concise guides for major Java projects outside of spring boot. They're all external to the projects, published on Baeldung.
What are some alternatives?
cats-effect - The pure asynchronous runtime for Scala
ScalaTest - A testing tool for Scala and Java developers
Diffy
Http4s - A minimal, idiomatic Scala interface for HTTP
Gatling - Modern Load Testing as Code
scalaprops - property based testing library for Scala
Nyaya - Random Data Generation and/or Property Testing in Scala & Scala.JS.
ScalaMock - Native Scala mocking framework
ScalaMeter - Microbenchmarking and performance regression testing framework for the JVM platform.
Specs2 - Software Specifications for Scala