Hi (and sorry for the late)

I personally don't see the reason to be open to *Operations until
*Monoid (actually, wrongly, *Weight) until there is the real need of.

Anyway, please share a patch in the issue you filled - code talks much
better, I could finally see what I am currently missing ;)

looking forward to it!
-Simo

http://people.apache.org/~simonetripodi/
http://simonetripodi.livejournal.com/
http://twitter.com/simonetripodi
http://www.99soft.org/



On Sun, Feb 19, 2012 at 5:05 PM, Claudio Squarcella
<squar...@dia.uniroma3.it> wrote:
> Hi,
>
>
>>>  * Doubles can also be multiplied, but so far we did not need to
>>>   include that in our stack of operations and properties. If we ever
>>>   need to do so, it will be enough to create another interface
>>>   extending OrderedMonoid and change the implemented interface in
>>>   DoubleWeightOperations.
>>
>> isn't it a different monoid? I mean, multiplier operator, the 1
>> identifier and real numbers are a monoid, or my math became terribly
>> bad? :P
>
>
> you're right! Your math is cool don't worry :)
>
> But see, maybe we could let it implement both an "addiction monoid" and a
> "multiplication monoid". We could even create Addition (and later maybe
> Multiplication?) as interface extending Monoid, so that we also solve the
> other aspect pointed out by Axel days ago: the Monoid would offer a generic
> "applyOperation", while Addition would wrap it as "sum" (and Multiplication
> as "multiply"). Cool?
>
>
>>>  * Also, there might be properties and/or operations that are unrelated
>>>   to each other, hence DoubleWeightOperations might implement more
>>>   than one interface in the future.
>>
>> that sounds good, anyway before to apply any potential improvement
>> because "users may need of XXX" I'd want to make sure that custom
>> behaviors can be applied to our APIs just estending existing
>> component, rather than blindly provide potential features we don't
>> need.
>>
>> I mean... if we do have the real need of having more operations than
>> the OrderedMonoid already provides, so go for it; otherwise, users
>> shall be able to define their on *Operator by extending ours and
>> implementing their custom interface.
>
>
> then we could use the pattern *WeightBaseOperations (e.g.
> DoubleWeightBaseOperations): so that we developers are free to extend it
> with more properties over time, as well as the users in their
> implementations -- and the name is IMHO self-explanatory and unambiguous.
>
> In other words: Doubles (as well as the other types) are not *only* monoids.
> So I feel we would be much more "blind" sticking to the term "monoid" in the
> implementation: we need more flexibility, and I hope the above
> *WeightBaseOperations sound good as a candidate.
>
> Thank you for the discussion, waiting for further input!
> Claudio
>
>
>>
>> I would be to support the minimum extensible set of features rather
>> than supporting all the potential cases, unless we really have the
>> practical need of them to implement new algos.
>>
>> Thoughts?
>> -Simo
>>
>> http://people.apache.org/~simonetripodi/
>> http://simonetripodi.livejournal.com/
>> http://twitter.com/simonetripodi
>> http://www.99soft.org/
>>
>>
>>
>> On Sun, Feb 19, 2012 at 2:59 PM, Claudio Squarcella
>> <squar...@dia.uniroma3.it>  wrote:
>>>
>>> Hello Simone,
>>>
>>>
>>>> It would be much more naturally to my hears hearing it as
>>>> BigDecimalOrderedMonoid, doesn't it?
>>>
>>>
>>> you have a valid point. However my intention is to decouple
>>> implementations
>>> from underlying interfaces, because they might evolve and grow over time.
>>>
>>> Let me give you two examples:
>>>
>>>  * Doubles can also be multiplied, but so far we did not need to
>>>   include that in our stack of operations and properties. If we ever
>>>   need to do so, it will be enough to create another interface
>>>   extending OrderedMonoid and change the implemented interface in
>>>   DoubleWeightOperations.
>>>  * Also, there might be properties and/or operations that are unrelated
>>>   to each other, hence DoubleWeightOperations might implement more
>>>   than one interface in the future.
>>>
>>> How does that sound?
>>>
>>> Ciao,
>>> Claudio
>>>
>>>
>>> --
>>> Claudio Squarcella
>>> PhD student at Roma Tre University
>>> http://www.dia.uniroma3.it/~squarcel
>>> http://squarcella.com/
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>>> For additional commands, e-mail: dev-h...@commons.apache.org
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>> For additional commands, e-mail: dev-h...@commons.apache.org
>>
>
> --
> Claudio Squarcella
> PhD student at Roma Tre University
> http://www.dia.uniroma3.it/~squarcel
> http://squarcella.com/
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to