Proposal to generalize the type of List's deleteBy function

David Feuer david.feuer at gmail.com
Sun Jun 21 15:35:42 UTC 2015


+1, but what's wrong with just

whatever::(a->Bool)->[a]->[a]

Is this some subtle efficiency thing relating to closure creation?
On Jun 21, 2015 2:32 AM, "Grant Slatton" <grantslatton at gmail.com> wrote:

> Right now the type of deleteBy is:
>
> (a -> a -> Bool) -> a -> [a] -> [a]
>
> That is, it takes an equality predicate, a value, and a list, and deletes
> the first element in the list such that the equality predicate returns true
> for the given value and the element.
>
> This can be generalized to:
>
> (a -> b -> Bool) -> a -> [b] -> [b]
>
>
> Example use case:
>
> keyValues :: [(a, b)]
>
> key :: a
>
> deleteBy (\x (y, _) -> x == y) key keyValues
>
>
>
> Thanks
>
> Grant Slatton
>
> _______________________________________________
> 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/20150621/60f00025/attachment.html>


More information about the Libraries mailing list