Best resource to learn Scalia 3 metaprogramming

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

Our great sponsors
  • SonarLint - Clean code begins in your IDE with SonarLint
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • 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 ( 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.

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • 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