Our great sponsors
-
ducktape
Automatic and customizable compile time transformations between similar case classes and sealed traits/enums, essentially a thing that glues your code. Scala 3 only. Or is it duct 🤔
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
I’m looking for small Scala 3 exclusive (mixing it with 2 makes much harder to distinguish) projects with use of metaprogramming where I can learn more and perhaps contribute. Ducktape (https://github.com/arainko/ducktape) is a great example. Any blog posts would be even better.
Then start playing with reflection API - I suggest having Quotes opened in your IDE, and documentation in your browser. Use showRaw to print expressions you constructed - it will help you understand how to build from ground up when you cannot build something using only expressions.
Among Scala 3-only macro codebases is proto-quill (Quill for Scala 3). Other than that most libraries will be cross-compiled Scala 2 and Scala 3 because they have to cater to both long-time Scala 2 users as well as those who already migrated.