Going with Henning's newDeleteBy would provide a better interface to deleting with an arbitrary predicate, and it would avoid the (unlikely?) chance of code breaking in the event that the more general type breaks some type inference.


On Sun, Sep 11, 2016, 9:19 AM Henning Thielemann <lemming@henning-thielemann.de> wrote:

On Sun, 11 Sep 2016, Matthew Pickering wrote:

> The type of `deleteBy` in `Data.List` could easily be generalised in a
> useful way.
>
> ```
> deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a]
> ```

I do not see why deleteBy should have an argument for the deleted element,
anyway, since it is not even the element to delete (only an equivalent
one). Wouldn't a function with type

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

be much more straight-forward?
_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries