[Haskell-cafe] ANN: signed-multiset-0.1

Stefan Holdermans stefan at vectorfabrics.com
Thu Apr 26 01:27:40 CEST 2012


>>> [3] defines the union as h(u) = max(f(u), g(u)) where f, g and h are multiplicity functions.
>> Which is the same, as [3] is about multisets, not signed multisets.
> Chapter 3 of [3] 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 mailing list