I propose that we can extend Mirrors to operations, and use the most natural DSL of all - plain trait definitions.
Can we derive endpoints from just a trait definition? One of Scala's strengths is domain modelling, and from a data definition, we can derive generic information in a Mirror, e.g. to generate type classes. For operations (such as endpoints) there is less support from metaprogramming, so we often create DSLs to describe them. I propose that we can extend Mirrors to operations, and use the most natural DSL of all - plain trait definitions.
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.
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.
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.