[...] > > If I already have a function f(), then the semantics of how the > mymodule.f()'s methods get merged in are clearly defined by the existing > dispatch rules, no special module rules are needed. > > The problem as I see it is that there is no information available to Julia that f() in one module has any logical equivalence to f() in another module, eg
module plants type Tree ... end bark(t::Tree) = rough or smooth etc end module canines type Dog ... end bark(snoopy::Dog) = send audio to speakers end Clearly it makes no logical sense to combine the bark() functions into some sort of "meta-function" outside the modules, they represent completely different concepts. But as you say combining mathematical operators makes sense. So it would seem that there needs to be a way of specifying these combinations if we want them. Cheers Lex [...]
