Proposal: Private modules (general discussion)

It is not a new syntax. It is just a new macro/function. For example, if we add a new function to Enum, you can’t invoke it on earlier Elixir versions either. Should we stop adding functions to Enum and other Elixir modules? :slight_smile:

There is even a proof of concept of the functionality working today.

Those are not the same warnings since we can guarantee those warnings with B, C, D, but not with A.

We are not allowing access because of external users, but for the authors of the private module themselves. It is a small distinction but it is an important one. Leaving the key under the carpet does not give permission for anyone else to get that key and enter your house - although you know it is a possibility when you do.