Proposal: Private modules (general discussion)

Unfortunately that may have false positives. For example, if you do this:

require SomethingPrivate, as: Private
some_macro(Private)

And then some_macro(Private) calls Macro.expand and returns a quoted expression that calls something on the expanded atom. We would need to track if the atom came from the context or written by the user but atoms do not have metadata. Alternatively it could be done in the parser but that’s likely not the time or place it to do it. :slight_smile:

5 Likes