I don't think it's really so great that Data.List has a bunch of operations that are inefficient on lists. On Wed, Oct 31, 2018, 10:53 PM Dannyu NDos <ndospark320@gmail.com wrote:
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. _______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries