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.
Join me in a talk empowering you to build Scala applications that not only excel internally but also deliver optimal experiences from an external perspective.
I propose that we can extend Mirrors to operations, and use the most natural DSL of all - plain trait definitions.
I would like to go over the most relevant tools and changes that can improve your developer experience.
Drawing on 25 years of experience as a professional musician and record producer, this will be a beginner focused talk introducing the use of Scala.js and the web audio api for building Scala powered Web Audio Applications.