Adam is one of the co-founders of SoftwareMill, where he codes mainly using Scala and other interesting technologies. He is involved in open-source projects, such as sttp, tapir, Quicklens, ElasticMQ and others. Adam has been a speaker at major conferences, such as JavaOne, LambdaConf, Devoxx and ScalaDays.
Apart from writing closed- and open-source software, his ideas or insights usually end up with a blog post: https://softwaremill.com/blog.
Scala 3 metaprogramming by example
Metaprogramming is one of the features that sets Scala 3 apart from other languages. We don’t only get “”macros done right””, but a a couple of constructs that can be used depending on the scope and complexity of the task: inlines, typeclass derivation and “”proper”” macros (quoting & splicing).
Let’s take a look at how these metaprogramming approaches can be used in practice. What kind of problems can we solve? How readable is the code? Does it feel like magic, or regular programming?
If something is know at compile-time and can be computed then, there’s no reason to repeat it every time our program is run. Come and see what Scala 3 has to offer in this area!