On Sunday, 19 February 2017 at 15:22:50 UTC, bachmeier wrote:
On Saturday, 18 February 2017 at 20:15:55 UTC, timmyjose wrote:
4. I have heard good reports of D's metaprogramming capabilities (ironically enough, primarily from a thread on the Rust user group), and coming from a Common Lisp (and some Racket) background, I am deeply interested in this aspect. Are D macros as powerful as Lisp macros? Are they semantically similar (for instance, I found Rust's macros are quite similar to Racket's)?

I was a Scheme/Common Lisp user for quite a while before moving to D. Lisp macros are more powerful (there's not much you can't do with them), but on the other hand, unless you stick with simple use cases, it can be hard to get Lisp macros right. You've got the whole defmacro vs hygienic debate. Also, the rule of thumb is to avoid macros unless you can't do it with a function.

Agreed.

I was never into heavy metaprogramming with Scheme or Common Lisp. The simplicity of D's compile time capabilities mean I do more metaprogramming in D, and I actually push a lot of stuff from runtime to compile time, which I wouldn't have done with Common Lisp.

That's very encouraging to hear! :-)

Reply via email to