On Sat, Dec 20, 2003 at 03:12:53PM -0800, Jonathan Lang wrote: : Naming in what way? As a descriptive term for discussing them in general, : or naming individual collections for reference purposes in the code?
I meant naming primarily as in how you select a particular group of them. They don't have to have an official name, as long as you can get a ref to the list of candidates. : > Taking scope transitions into account in the distance calculation of : > multi signatures could be even more interesting. If you define your : > own multi foo, and there's a global multi foo, how far away is that? : > Is it worth a level of inheritance in one of the arguments? Is it : > worth more? Less? Is it worth anything, if you've included both : > in your set of possible multis to begin with? : : Why not do it the same way that namespace scoping collisions are resolved: : the local scope trumps the caller's scope. Rinse, lather, repeat. That's the default behavior--you ignore multi until you find the name in a particular namespace, then you look to see if there are multis within that namespace. I'm talking about what if you don't like the default behavior where the collection is limited to the one namespace. Or to look at it another way, by default, the distance between namespaces is infinitely large compared to the distance between multimethods in a namespace. That might not always be what people want. In particular, sometimes people might want the namespace distance to be 0, and consider equally all multis of that name in any (visible) namespace. It's a valid thing to want, but I just don't think it should be the default. Larry