On Mar 8, 2011, at 7:56 PM, Marvin Humphrey wrote: > Like how we're sneaking namespaces into Lucy's C code via prefixes? :) Or how > we jammed namespaces into JavaScript via objects back in our OpenJSAN > days? :)
For languages that don't have namespaces, you do what'cha gotta do. > I don't think it's a good idea for Lucy's class hierarchy to be organized > differently for each host language binding. (That seems like the logical > extrapolation of your remark, though I believe you intended to express an > ideal rather than make a concrete recommendation.) No, not differently, just more naturally. So what might be Lucy::Tokenizer::Regex in Perl might be LucyRegexRecognizer elsewhere. > Since the class hierarchy must be shared, its design has to balance many > competing interests and work well across the gamut of hosts. What we have now > doesn't violate anybody's language rules or conventions to the best of my > knowledge. It's internally consistent, and works OK for our C code. Good. > It's technically doable. > > Still, Lucy's namespacing scheme and class hierarchy have been been mulled > over very hard over a very long time. When renaming Lucy::Analysis::Tokenizer > to something else, we should strive to operate within the existing > conventions. Agreed. Which is why you should ignore my ignorant ass. > Upending the existing hierarchy and changing the rules would be a much larger > undertaking. It's not even worth contemplating without someone willing to do > the work -- and I rather suspect that such a volunteer would become frustrated > quickly by all the concerns I'd raise as someone who works on Lucy's C code. Okay. > There are two or three hundred classes in Lucy, and there will likely be > hundreds more in time. I think we should be conservative about what we put at > the second level of the hierarchy, so that scanning any one directory with the > naked eye produces sensible results. Sure, but not *that* conservative. Oh, and 100s of classes? Yow! > We inherited all the dirs under Lucy except for Lucy/Plan and Lucy/Object from > Lucene. IMO the organization has served us pretty well. Great, I'll STFU then! >> But I'm very late to this discussion, so feel free to ignore my ignorant >> harping. :-) > > I see your smiley, but I'll emphasize this anyway: we're definitely not > ignoring your suggestion even if we don't adopt it. Clearly. You're too kind. David
