Greetings, Lucy users!
The Lucy developers plan to rework Lucy's subclassing mechanism to support
more host languages and to make it easier to use from Perl. We hope that
you'll soon be able to write Lucy subclasses based on hashrefs instead of
inside-out objects. While this entails slight API changes, we're trying to
make the transition as painless as possible.
So far, Lucy allows to subclass any of its classes from Perl. This is a
powerful feature, but it makes it hard for us to track which classes are
actually extended by users. In the future, we're trying to stick more closely
to the rule formulated by Joshua Bloch in his book "Effective Java":
> Design and document for inheritance or else prohibit it.
You can help by telling us which Lucy classes you extend from Perl. Here are
some of the candidates:
- Lucy::Search::Query, Lucy::Search::Compiler, and Lucy::Search::Matcher
We're particularly interested if you're extending classes *not* listed above.
If you're subclassing IndexManager for other purposes than NoMergeManager and
LightMergeManager as described in Lucy::Docs::Cookbook::FastUpdates, we'd also
like to know.
If you know of Lucy users with interesting setups who might not be subscribed
to this list, please point them to this survey.
I'll start with the classes that I subclassed as a user of Lucy's Perl bindings:
- Lucy::Index::IndexManager (as LightMergeManager)
Thanks in advance for taking the time,