Best resource to learn Scalia 3 metaprogramming

This page summarizes the projects mentioned and recommended in the original post on /r/scala

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • 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 🤔

  • 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.

  • dotty

    The Scala 3 compiler, also known as Dotty.

  • 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.

  • 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.

    InfluxDB logo
  • zio-protoquill

    Quill for Scala 3

  • 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.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts