Sjoerd,

>>> [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.

Cheers,

  Stefan
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to