's Avatar

@rcardin.bsky.social

141 Followers  |  114 Following  |  51 Posts  |  Joined: 20.11.2024
Posts Following

Posts by (@rcardin.bsky.social)

Big ball of mud Writing about Scala, Kotlin, and the JVM โ€” from functional programming and effect systems to design patterns and concurrency.

I revamped my blog with a new look and feel. ๐ŸŒป

There are articles about #Scala, #Java, #Kotlin, functional programming, and software engineering.
EST. 2013 โญ๏ธ

blog.rcard.in

16.02.2026 11:56 โ€” ๐Ÿ‘ 1    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
ฮปร†S - Yet Another Effect System An experimental effect system for Scala 3 inspired by Algebraic Effects

Here are the docs of the HTTP Server: blog.rcard.in/yaes/#/http/...
...and here are the release notes: github.com/rcardin/yaes...

Let's keep in touch ๐Ÿ˜˜

06.02.2026 07:55 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

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 ๐Ÿค

06.02.2026 07:54 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

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...

16.01.2026 16:09 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Riccardo Cardin:  Yo Dawg, Heard You Want To FlatMap Your Direct Style [Scala Days 2025]
The direct style in Scala 3, influenced by languages like Kotlin and Rust, simplifies functional programming by eliminating for-comprehension syntax on higher-kinded types. It offers an imperative approach supported by context functions. While many Scala developers support it, others prefer the tra Riccardo Cardin: Yo Dawg, Heard You Want To FlatMap Your Direct Style [Scala Days 2025]

๐Ÿค– Direct-style programming can feel elegant until you try to compose it. This session explores what happens when flatMap enters the picture.
Check out "Yo Dawg, Heard You Want To FlatMap Your Direct-Style" from Riccardo Cardin

19.12.2025 18:28 โ€” ๐Ÿ‘ 4    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 1
Post image

Hey, #Scala lovers ๐Ÿ’•, Santa is coming ๐ŸŽ…, bringing version 0.11.0 of #YAES this year! ๐ŸŽ This time, we added the integration with Reactive Streams so that you can use YAES with any library implementing the standard (Akka, Vert.x, Http4s...).

github.com/rcardin/yaes...

Merry Christmas! ๐ŸŽ„

23.12.2025 09:37 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Shoehorning dependency injection into a FP language (...)? - Eric Torreborre | Lambda Days 2025
YouTube video by Code Sync Shoehorning dependency injection into a FP language (...)? - Eric Torreborre | Lambda Days 2025

Sad to learn that there will not be a #lambdadays 2026 conference in Krakow. As a consolation, all the 2025 talks have now been published including mine: www.youtube.com/watch?v=LDln...

10.12.2025 15:24 โ€” ๐Ÿ‘ 4    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

#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...

10.12.2025 17:09 โ€” ๐Ÿ‘ 1    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

#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...

27.11.2025 11:30 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Hack.Commit.Push Switzerland is just one week away! ๐Ÿ‡จ๐Ÿ‡ญ

This is a great opportunity to get involved in Open Source projects like @assertj.github.io, with direct guidance from the maintainers!

13.11.2025 10:30 โ€” ๐Ÿ‘ 7    ๐Ÿ” 8    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

We've closed the first round of applications for the Scalar Call for Papers!

We'll be announcing the first speakers for the 2026 edition very soon!

In the meantime, check out our #myscalastory series at sml.io/myscalastory, featuring insights from top Scala and functional programming experts!

12.11.2025 12:51 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

A new month, a new version of #YAES ๐Ÿฅณ Version 0.8.0 finally introduces the `YaesApp`. Now, you can develop your direct style #Scala app, and Yaes will take care of the execution of most of the effects ๐Ÿ™Œ

Plus, we redesigned Channels and added overflow policies! ๐Ÿ’ช

github.com/rcardin/yaes...

12.11.2025 07:39 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

#Scala Effects lovers, here is the Halloween ๐ŸŽƒ release of #YAES. We introduced Channels in the library. Now, fibers can communicate asynchronously through message passing ๐Ÿ“จ. #Kotlin Channels heavily inspired the feature.

Here are the release notes: github.com/rcardin/yaes...

23.10.2025 08:26 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

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

21.08.2025 18:26 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

Version 0.5.0 of the #YAES effect system is here ๐Ÿš€ (just in time for @scaladays.org...fiuuu). We added the `State[S]` effect to the #Scala 3 party ๐Ÿฅณ. However, be careful that the current version is not thread-safe.

Here are the release notes: github.com/rcardin/yaes...

16.08.2025 11:55 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

I'm reading @sam-cooper.bsky.social's "Kotlin Coroutine Confidence". It's a masterpiece๐Ÿ’ซ, even if you already know #Kotlin coroutine machinery:

It's worth your money ๐Ÿ’ฐ: pragprog.com/titles/sckot...

08.08.2025 09:26 โ€” ๐Ÿ‘ 4    ๐Ÿ” 2    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

#DropsOf #Kafka: It's possible to force an order on messages read by consumers from a topic by using the same key for all messages to be read in order.

Naive, but effective in most cases ๐Ÿ˜œ

22.07.2025 19:50 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

#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 ๐Ÿช„

20.07.2025 13:53 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

#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 ๐Ÿคทโ€โ™‚๏ธ

19.07.2025 11:58 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

#DropsOf #kotlin: Do you know you can implement the race primitive ๐Ÿš— for coroutines in just one line of code?

The `channelFlow` has its coroutineScope, and when the `first` function cancels the Flow execution, it cancels all the running coroutines that did not win the race. ๐Ÿ˜

18.07.2025 09:10 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

#Scala lovers, version 0.4.0 of the #YAES effect system is out!๐Ÿš€ What a journey.๐Ÿคช The new `Resource` effect is here, and now you can even zip two different `Flow`. Wow, concurrent programming on flows! ๐ŸŽ‰

Here are the release notes: github.com/rcardin/yaes...

09.06.2025 15:21 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

Hey, #Scala lovers! I'll give a talk at the next @scaladays.org 2025 ๐ŸŽ‰. I still can't believe it ๐Ÿคช.

Let's meet in Losanna to share our experiences on direct-style and monadic effect systems! I'll bring my (on-going) knowledge about the former, with my library #YAES โญ๏ธ

See you there ๐Ÿ‘‹

30.05.2025 07:51 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Do You Even Handle Effects?
YouTube video by Ticino Software Craft Do You Even Handle Effects?

Today, I talked at Ticino Software Craft ๐Ÿง‘โ€๐Ÿ”ฌ. We discussed #Scala Effect Systems, both monadic and direct-style (in detail, the #YAES effect system).

It was a pleasure to join the Ticino software community.
Thanks, guys, for the opportunity ๐Ÿ™

www.youtube.com/watch?v=PEiM...

28.05.2025 19:40 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Do you even handle effects? | LinkedIn Scalaโ€™s effect systems have come a long way from Monix and Scalaz, to Cats Effect, ZIO, and now Ox and Kyo. The debate between monadic and direct styles is at its peak or maybe, it doesnโ€™t have to be ...

Save the date ๐Ÿ“…! I will discuss #Scala and Direct-Style Effect Systems this Wednesday at the Ticino Software Craft meetup ๐Ÿš€.

See ya online ๐Ÿ‘‹
www.linkedin.com/events/doyou...

26.05.2025 19:41 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Do you even handle effects? | LinkedIn Scalaโ€™s effect systems have come a long way from Monix and Scalaz, to Cats Effect, ZIO, and now Ox and Kyo. The debate between monadic and direct styles is at its peak or maybe, it doesnโ€™t have to be ...

On Wednesday, May 28th, I will join the team from Ticino Software Craft to share some knowledge and ideas about Effect Systems in #Scala โญ.

Everybody's welcome ๐Ÿ‘‹.

You can't miss it ๐Ÿ’ฏ

www.linkedin.com/events/doyou...

20.05.2025 19:33 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Scala.IO Scala.IO is a conference for people having interest in the Scala ecosystem or simply being curious about the language, usages

Hello folks ๐Ÿ‘‹

ScalaIO is back for another edition in 2025 ๐Ÿฅณ

๐ŸŒ It will be held at La Grande Crypte, Paris ๐Ÿ‡ซ๐Ÿ‡ท on the 17/10/2025
๐ŸŽŸ๏ธ Early birds tickets are already open to sales(f: Person => `scala.io`)
๐Ÿค CFP & sponsorships will open very shortly

See you soon ๐Ÿ˜Š

12.05.2025 07:10 โ€” ๐Ÿ‘ 7    ๐Ÿ” 5    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

Version 0.3.0 of the #YAES library just landed ๐Ÿš€. No new effects this time, but the porting of the first bunch of methods of the #Kotlin `Flow` type! #Scala has flows now, and they compose well with YAES effects ๐Ÿ™Œ

Here are the release notes: github.com/rcardin/yaes...

09.05.2025 14:12 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

Yesterday I played with the #YAES library to understand what is missing to gain RT. Guess what ๐Ÿค”? Maybe I managed to introduce some form of RT in a #Scala direct-style approach. I need you ๐Ÿซต to join the discussion:

github.com/rcardin/yaes...

cc @scalatimes.com

30.04.2025 06:31 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

Hey, #Scala devs! To celebrate the Liberation Day in Italy ๐Ÿ‡ฎ๐Ÿ‡น(April 25th), here is a new version of the #YAES library! We added the `Log` effect that does what its name promises ๐Ÿ˜…

Keep on coding! ๐Ÿ™Œ

github.com/rcardin/yaes...

@scalatimes.com

24.04.2025 13:05 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
From the scala community on Reddit: YAES: Thoughts on context-based capability passing style for state threading and integration into tagless-final application Explore this post and more from the scala community

Someone tried to understand if #YAES can be successfully integrated into a Tagless-Final #Scala application ๐Ÿ˜, and the pros and cons. I never thought someone would be interested in my library. I'm so excited ๐ŸŽ‰

22.04.2025 14:53 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0