lucy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nick Wellnhofer <>
Subject [lucy-user] Survey: How do you subclass/extend Lucy from Perl?
Date Sun, 12 Mar 2017 13:53:35 GMT
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::Analysis::Analyzer
- Lucy::Highlight::Highlighter
- Lucy::Index::IndexManager
- Lucy::Index::Similarity
- Lucy::Search::Query, Lucy::Search::Compiler, and Lucy::Search::Matcher
- Lucy::Search::QueryParser

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::Analysis::Analyzer
- Lucy::Index::IndexManager (as LightMergeManager)
- Lucy::Index::Similarity

Thanks in advance for taking the time,

View raw message