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.
Join me for a fun and possibly opinionated talk about the state of Scala and other JVM languages.
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.
In this talk, we will demonstrate some elegant applications of functional programming in Scala, with even more elegant visual results - all with live code and real-time output.
The talk explores the recursive structure of Diamond Architecture.
Let's write a game in Scala Native, for Playdate!