@rcardin.bsky.social

#YAES 0.23.0 is out. 🚀 Concurrency 🧵is the theme: `Async` races for the first success, traverses with bounded parallelism, and the work that outlives its scope now lives in a new `Unscoped` effect. Still on `in.rcard.yaes`? A Scalafix rule moves you over in one line. #Scala

Bild

#Java is evolving, one piece at a time. 📈 Now, it's possible to implement Algebraic Data Types (ADTs) well using records and sealed hierarchies. They can help us avoid using exceptions 🔥 for expected business errors and check edge cases at compile time. rockthejvm.com/articles/alg...

ADTs (Algebraic Data Types) in Java

Discover ADTs (Algebraic Data Types) in modern Java: how records and sealed interfaces bring sum types and product types to Java 25

rockthejvm.com

We're approaching summertime again ⛱️, and before going on holiday 🍹 , there is time for a new version of #YAES! The main addition is the CircuitBreaker handler, which, together with the Retry handler, lets us develop #Scala resilient distributed applications using YAES 🚀 github.com/rcardin/yaes...

Bild

It seems to me that in the era of #AI and agentic development, non-tech people are discovering software engineering. Many of the proposed processes had been around for 40 years, more or less, waiting for their time.

Spring 🌷 is approaching fast here in Italy 🇮🇹, and a new version of #Scala #YAES is here! - a new integration with Circe 🐍; - a new `Retry` effect handler ↩️, which allows retrying code execution using different policies; and much more! Checkout the release notes: github.com/rcardin/yaes...

Bild

S. Valentine is approaching for #Scala lovers ❤️, and it brings version 0.13.0 of the #YAES library. 🥁 We added an HTTP server this time...yes, we did it! A fully effectful server, based on virtual threads, with graceful shutdown! 😱 It's still in its experimental phase, so any feedback is welcome 🤝

Bild

Here we go again, hashtag#Scala lovers 🎸! Version 0.12.1 of hashtag#YAES is here with big new features! ✨ We implemented the graceful shutdown for the `Async` effect! If you want, you can interact with the shutdown process using the `Shutdown` effect 😱 Release notes: github.com/rcardin/yaes...

Bild

#Scala lovers ,💕#YAES v0.10.0 is out! Bridge the gap between YAES and Typelevel Cats Effect 🐈 with the new `yaes-cats` module. Convert between IO monads, integrate with `Validated` types, and get `MonadError` instances for `Raise`. Check out the release notes: github.com/rcardin/yaes...

Bild

#Scala lovers, #YAES 0.9.0 is here! 🚀 Full I/O stream support with `Flow` 🌊. Read files, process lines, and write output with ease. In addition, we introduced `channelFlow`, the bridge 🌉 between channels and flows! Cold flows + concurrent emission = 🔥 Check it out 👉 github.com/rcardin/yaes...

Bild

My first @scaladays.org just finished. Thanks to all the people who attended my talk and took some time to chat with me 🙏 There are a lot of engineers, data scientists, front-enders, and students who do extraordinary things using #Scala every day, and are the heart of our community 💕. Thank you all

#DropsOf #Kotlin: Kotlin was the first language on the JVM implementing continuation passing style (CSP) directly in the compiler 🚄. It rewrites every suspending function using CSP, adding a `Continuation` object to the parameters and rewriting the body accordingly 🪄

Bild

#DropsOf #Java: Checked exceptions were a good idea ✨. They are some form of an effect system. You know precisely what kind of effects a function performs. To eliminate the effect, you need to handle it, and the compiler forces this behavior. However, they don't compose with lambdas 🤷‍♂️

Bild