
Kyle Stanley wrote:
Serhiy Storchaka wrote:
Either we establish the rule that all non-public names must be underscored, and do mass renaming through the whole stdlib. Or allow to use non-underscored names for internal things and leave the sources in Personally, I would be the most in favor of doing a mass renaming through stdlib, at least for any public facing modules (if they don't start with an underscore, as that already implies the entire module is internal). Otherwise, I have a feeling similar issues will be brought up repeatedly by confused end-users.
Same would happen with a rename where people's code suddenly broke. We don't do renames on purpose without a proper deprecation cycle and doing that en-mass would be extremely disruptive. -Brett
This change would also follow the guideline of "Explicit is better than implicit" by explicitly defining any function in a public-facing module as private or public through the existence or lack of an underscore. There would be some cost associated with implementing this change, but it would definitely be worthwhile if it settled the public vs private misunderstandings.