Hacker News new | ask | show | jobs
by lytigas 2055 days ago
According to [1], Crystal Macros "receive AST nodes at compile-time and produce code that is pasted into a program." This is basically the same as Rust procedural macros[2]. You're probably thinking of "Macros by example"[3]

[1] https://crystal-lang.org/reference/syntax_and_semantics/macr...

[2] https://doc.rust-lang.org/reference/procedural-macros.html

[3] https://doc.rust-lang.org/reference/macros-by-example.html

1 comments

Being able to receive AST in crystal is only good. However have a look here [1], 90% of your macros are covered with those helpers. In Rust doing the same things are either more difficult or impossible. For instance, I wanted in rust to inject allow/warn kind of derives based in env var. Nope.

[1] https://crystal-lang.org/reference/syntax_and_semantics/macr...