# How to discourage macros: disable automerge of General registry PRs?

**URL:** https://discourse.julialang.org/t/how-to-discourage-macros-disable-automerge-of-general-registry-prs/104529
**Category:** Internals & Design
**Tags:** macros, metaprogramming, general-registry, macro-hygiene
**Created:** [October 3, 2023, 8:43am UTC](https://discourse.julialang.org/t/how-to-discourage-macros-disable-automerge-of-general-registry-prs/104529 "2023-10-03T08:43:31Z")
**Posts on this page:** 2
**Page:** 3

<div class="post-metadata">

### Author: ![ctkelley](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ctkelley/32/10684_2.png) [@ctkelley](https://discourse.julialang.org/u/ctkelley)
#### Post date: [October 19, 2023, 9:32pm UTC](https://discourse.julialang.org/t/how-to-discourage-macros-disable-automerge-of-general-registry-prs/104529/41 "2023-10-19T21:32:22Z")

</div>

I think using macros is pretty much self-discouraging. I tried it once and found it hard enough that I rethought the problem and did it another way. I would be very surprised if I needed to do it for the things I work on.

I very much appreciate things like @btime, @floop, @batch, and @printf while being completely aware that I’m unlikely to ever be able to do stuff like that on my own.

I figure that any package that abuses macros will likely attract very few users and go away on its own.

---

<div class="post-metadata">

### Author: ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)
#### Post date: [October 19, 2023, 9:49pm UTC](https://discourse.julialang.org/t/how-to-discourage-macros-disable-automerge-of-general-registry-prs/104529/42 "2023-10-19T21:49:32Z")

</div>

> [@ctkelley](#):
>
> I think using macros is pretty much self-discouraging. I tried it once and found it hard enough that I rethought the problem and did it another way. I would be very surprised if I needed to do it for the things I work on.

The point of my blogpost

> **[My first macro in Julia](https://giordano.github.io/blog/2022-06-18-first-macro/)**
>
> This post isn’t about the first macro I wrote in the Julia programming language, but it can be about your first macro. Frequently Asked Questions Question: What are macros in Julia? Answer: Macros are sort of functions which take as input unevaluated...

was exactly to show that macros can be very nice to use on the user side, but are often quite hard on the developer side: there are lots of pitfalls to take care of, I’m sure I forgot something in the post. Still, it can be useful to get familiar with how they work.

[Previous page](https://discourse.julialang.org/t/how-to-discourage-macros-disable-automerge-of-general-registry-prs/104529.md?page=2)
