On Fri, Apr 24, 2015 at 8:51 PM, <ele...@gmail.com> wrote: > I would have thought stopping intentional behaviour is non-Julian, but > accidental errors should indeed be limited. Perhaps adding methods to > other modules functions needs to explicit.
I think that John Myles White was the first to start advocating for using explicit qualification every time you extend methods from Base or some other module than then one you're currently in. At first this felt a little annoying to me, but I've grown to like it and I do think this may be a good, low-tech solution. Forcing the programmer to be aware of the fact that they're extending someone else's generic function already helps a lot. If we provided some tooling for finding cases where people are monkey patching and made it widely available, then that might really solve the whole issue.