Sjoerd,

I am sorry, as I already wrote, I decided to deprecate the package.

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

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

> I think if your union would follow the definition with max as in [3] and [4] 
> it is not confusing. But then empty would not be the identity of that union 
> (that would be the signed multiset with multiplicity negative infinity for 
> all elements), so it would still not be a good choice for the Monoid instance.

Let's agree to disagree. This is not constructive and, moreover, going nowhere.

Cheers,

  Stefan


>> [3] Apostolos Syropoulos: Mathematics of Multisets. WMP 2000: 347-358

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

Reply via email to