I use macros in Racket, and generally the idea is that they mix with the language until its not clear which are the language constructions and which are the user defined macros.<p>For example, instead of<p><pre><code> pub static SMITHY: Card = action! { "Smithy" costs 3 and calls do_smithy };
</code></pre>
I’d written it as<p><pre><code> pub static SMITHY: Card = action! { "Smithy", 3, do_smithy };
</code></pre>
Is this possible in Rust, or comas are special?