[Haskell-cafe] ANN: signed-multiset-0.1
stefan at vectorfabrics.com
Thu Apr 26 01:27:40 CEST 2012
>>>  defines the union as h(u) = max(f(u), g(u)) where f, g and h are multiplicity functions.
>> Which is the same, as  is about multisets, not signed multisets.
> Chapter 3 of  is about Hybrid Sets.
And there the union is defined by taking the *minimum* of multiplicities, which is even more strange.
>>> [...] and this is also what your implementation does. (Map.unionWith max does not do a max if the key is not in one of the maps, i.e. if one of the multiplicities is 0.)
>> I am aware of that. Why are you explaining this?
> Because we can't seem to get to an agreement. Usually this is because of a misunderstanding, so I try be as clear as possible, so you can understand my position, or point out my mistake.
I don't think you are mistaken. I think that
1. you're happy with the monoid over additiveUnion;
2. you're not happy with the definition of union.
I'm not a mathematician, but I can see value in how union is defined now: it nicely generalises familiar concepts and associated properties (!) from sets and bags, and there seems to be support for it in literature.
>> Let's agree to disagree. This is not constructive and, moreover, going nowhere.
> I'd prefer to keep arguing actually. ;-) But if you have something better to do, I won't bother you anymore.
I do enjoy this kind of discussion, but I think neither one of us will be able to convince the other. I am totally okay with that. That is not to say that I cannot be convinced by new, more compelling arguments.
More information about the Haskell-Cafe