+1 Symmetric difference has previously briefly come up on the containers issue tracker: https://github.com/haskell/containers/issues/162#issuecomment-222337552 David mentions the idea of a generalized merge API similarly to the one for Map and IntMap there, which would be nice to have now. Not a prerequisite for the addition though IMHO. Am Mi., 17. Juni 2020 um 21:25 Uhr schrieb Andrew Lelechenko <andrew.lelechenko@gmail.com>:
Hi all,
I propose to add a new combining function to `Data.Set` and `Data.IntSet` with the following semantics (but better implementation):
symmetricDifference :: Set a -> Set a -> Set a symmetricDifference x y = (x \\ y) <> (y \\ x)
The context is that Federico (CC'ed) is working on a GSoC project about faster factorisation algorithms in `arithmoi` (http://hackage.haskell.org/package/arithmoi), and the symmetric difference is a basic building block for sparse linear algebra over GF(2) field.
Best regards, Andrew _______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries