+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@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@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries