In this talk, we will take a tour around the `error` function. Starting from the simple use-cases and ending up with sophisticated yet developer-friendly error messages.
Among the many new features that landed in Scala 3, one of the lesser-known ones is the `compiletime.error` function. This seemingly simple function lets us define custom compile-time errors, bringing us a great leap forward in Scala's ability to provide developer-friendly compile-time safety.
But nothing is without complication. Despite the benefits, to fully utilize the power of the `error` function, for better or for worse, one has to take a deep dive into Scala's novel compile-time programming techniques. And what an exciting dive it is.
In this talk, we will take a tour around the `error` function. Starting from the simple use-cases and ending up with sophisticated yet developer-friendly error messages. Guided by a practical example, we will see how and why we can use the `error` function, as well as the accompanying compile-time programming techniques that will allow our error messages to really shine.
In this talk, I will cover three key concepts that emerged from reflecting on this past year of learning: making mistakes, helping others to help you and finding community.
In this talk, we will start with the basics, understanding what build caching is and why it can be a bit tricky to handle in real projects.
We managed to alleviate almost entirely the slowdown induced by Tapir in a web socket server. The journey towards this goal was quite insightful, and we would like to share it with you.
In this session, I will guide you through two recent additions to Ox that I helped implement: channel operators and retries.
I propose that we can extend Mirrors to operations, and use the most natural DSL of all - plain trait definitions.
The talk explores the recursive structure of Diamond Architecture.