Generalize "set" operations from Data.List

Dannyu NDos ndospark320 at gmail.com
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
<http://hackage.haskell.org/package/base-4.12.0.0/docs/Data-Bool.html#t:Bool>)
-> a -> [b] -> [b]
deleteFirstsBy :: (a -> b -> Bool
<http://hackage.haskell.org/package/base-4.12.0.0/docs/Data-Bool.html#t:Bool>)
-> [a] -> [b] -> [b]
intersectBy :: (a -> b -> Bool
<http://hackage.haskell.org/package/base-4.12.0.0/docs/Data-Bool.html#t: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"
operations.

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: <http://mail.haskell.org/pipermail/libraries/attachments/20181101/690152cd/attachment.html>


More information about the Libraries mailing list