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.

Thanks

1 Like