What's the consensus using persisted attributes?

I’ve been wondering on this for awhile.

Persistent attributes are very enticing to a DSL author. Like most things attractive, I can’t help but think that they shouldn’t be messed with. haha.

I like to use them to store metadata about a module for introspection in other libraries; providing extra functionality.

My question is really this.

Are there any best practices for using them?

Are there any downsides to using them?

If so, what’s a reasonable amount of data to bake into the BEAM file?

I’m not sure anyone can sway me from utilizing them at this point, but I’m reasonably interested in the answer.


1 Like