[ 
https://issues.apache.org/jira/browse/SANDBOX-404?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13221645#comment-13221645
 ] 

Claudio Squarcella commented on SANDBOX-404:
--------------------------------------------

Hi Simo,

good that you moved discussion here so we can focus.

I don't know if I got your question correctly, but I have answers for both 
interpretations :)
* _what if our class has to implement two different kinds of Monoid (e.g. 
Addition and Multiplication)?_ I propose to convert our current {{Monoid}} to 
{{Addition}} to represent the sum operation (which indeed is how we use it 
right know). Then we can add {{Multiplication}} as a completely separate 
interface, without the need to be backed by the same "abstract monoid" 
(although, of course, theory tells us that they are both monoids):

* _what if our class has to be not just a Monoid, but also something else?_ 
Then we simply add a new interface. I am already thinking of clearly separating 
{{Monoid}}/{{Addition}} from {{Comparator}}
                
> Simplify weight model
> ---------------------
>
>                 Key: SANDBOX-404
>                 URL: https://issues.apache.org/jira/browse/SANDBOX-404
>             Project: Commons Sandbox
>          Issue Type: Improvement
>          Components: Graph
>            Reporter: Simone Tripodi
>         Attachments: SANDBOX-404.patch
>
>
> As discussed on {{dev@}}, {{Zero}}, {{Semigroup}} and {{Monoid}} can be 
> merged directly in one single interface

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to