[ 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