Generalize "set" operations from Data.List

Dannyu NDos ndospark320 at
Thu Nov 1 02:53:03 UTC 2018

I've suffered from inconvenience due to the restricted type signature. I'll
be very glad if such restrictions are lifted:

deleteBy :: (a -> b -> Bool
-> a -> [b] -> [b]
deleteFirstsBy :: (a -> b -> Bool
-> [a] -> [b] -> [b]
intersectBy :: (a -> b -> Bool
-> [a] -> [b] -> [a]

I approve these versions because:
1. It makes more sense that the "usual" `delete` and `intersect` functions
are specialization of the "By" operations, not the vice versa.
2. Data.Map.Lazy module from *containers* package has these kind of "By"

The previous discussion about this in Sep 2016 didn't make much conclusion,
so let the discussion continue.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Libraries mailing list