Scala 2's macros are compile time constructs. There is no runtime code generation / staging.
Scala 3's macros support staged compilation, so you can have macros which create code in later stages at runtime.
https://docs.scala-lang.org/scala3/reference/metaprogramming...