Generalize "set" operations from Data.List

David Feuer david.feuer at gmail.com
Thu Nov 1 02:58:08 UTC 2018


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 at 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 at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20181031/d1bba604/attachment.html>


More information about the Libraries mailing list