Ian Clarke <i.clarke at dynamicblue.com> wrote:
> > Well, wait a minute - did we actually come to any consensus on how search
> > was going to be carried out?  There were a whole bunch of different ideas
> > floating around.
> 
> Grrr, people are either complaining that we talk too much about things,
> or don't talk enough.  I suggested this a while ago, and it met with
> approval from the other core developers from what I recall (not to say
> it is flawless, but it is a framework upon which we can build).

Well, I'm just trying to clarify in my mind what's going on - whether the
admins decided on something and I just missed seeing it, or (as seems to be
the case) you're writing some classes to support a broad outline which will
be fleshed out as time goes on...

> Having a solid proposal, so that others can compare their proposals to
> it, highlighting advantages and disadvantages, is much more constructive
> then everyone just throwing their own proposals into the mix without
> regard to what has already been suggested.

One problem, as I see it, is that the mailing list is a very ephemeral
medium, so proposals get put forward, argued about, ideas are generated,
but then forgotten.  I think it would be really helpful if we used the
"ideas" webpage to preserve proposals and the strongest arguments for and
against them, so that we have something to look at and fix in our minds.

> > Also, it seems like it would be more straightforward to implement the fuzzy
> > operators using static class methods
> 
> Sure, if you are happy to implement it in a non-object-orientated manner
> - but we are using an OOP language, so we should really use it
> correctly.

Object-orientation is good, but I don't really see the point in reifying
-operators-.  For example, we don't see a Math.Pow class which takes two
doubles as children:

        public class Pow extends MathOperator { ... };
        Pow p = new Pow(new Double(2), new Double(3));
        double result = p.evaluate();

If you really want to make it OO, it seems more natural to reify the
scores, Smalltalk-style:

        FuzzyScore cocoa = Similarity(thisKey, "cocoa");
        FuzzyScore pops  = Similarity(thisKey, "pops");
        FuzzyScore thisKeyScore = cocoa.And(pops);

        public FuzzyScore And(FuzzyScore s) {
            return new FuzzyScore(score < s.getScore() ?
                score : s.getScore());
        }
        public static FuzzyScore Similarity(String s1, String s2) { ... }

theo


_______________________________________________
Freenet-dev mailing list
Freenet-dev at lists.sourceforge.net
http://lists.sourceforge.net/mailman/listinfo/freenet-dev

Reply via email to