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 beginner-friendly talk we'll try to find out using the power of Scala and functional programming techniques.
Listen to a story of how we have dealt with 201 obstacles allowing us to run multithreaded programs natively!
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.
In this talk, we’ll show first the different techniques we can use to apply constraints is our domains. Then, we’ll present Iron, its features, extensions, and integrations. We’ll finish by showcasing a fully integrated constraint-enforcing app.
I would like to go over the most relevant tools and changes that can improve your developer experience.