
21 Jun
2015
21 Jun
'15
2:32 a.m.
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