<div dir="ltr">I have to admit I've always found the need to pass an argument to deleteBy sort of silly. The few times I've used it, my function has just ignored the first argument. I don't think we need to worry too much about inference in this case, the user would almost assuredly pick it back up on the backswing from whatever (a -> a -> Bool) predicate they are using fixing the type anyways. <div><br></div><div>I don't find the two proposals mutually exclusive.<div><br></div><div>-Edward</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Sep 11, 2016 at 1:00 PM, Eric Mertens <span dir="ltr"><<a href="mailto:emertens@gmail.com" target="_blank">emertens@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">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.</p><div class="HOEnZb"><div class="h5">
<br><div class="gmail_quote"><div dir="ltr">On Sun, Sep 11, 2016, 9:19 AM Henning Thielemann <<a href="mailto:lemming@henning-thielemann.de" target="_blank">lemming@henning-thielemann.de</a><wbr>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
On Sun, 11 Sep 2016, Matthew Pickering wrote:<br>
<br>
> The type of `deleteBy` in `Data.List` could easily be generalised in a<br>
> useful way.<br>
><br>
> ```<br>
> deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a]<br>
> ```<br>
<br>
I do not see why deleteBy should have an argument for the deleted element,<br>
anyway, since it is not even the element to delete (only an equivalent<br>
one). Wouldn't a function with type<br>
<br>
newDeleteBy :: (a -> Bool) -> [a] -> [a]<br>
<br>
be much more straight-forward?<br>
______________________________<wbr>_________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-<wbr>bin/mailman/listinfo/libraries</a><br>
</blockquote></div>
</div></div><br>______________________________<wbr>_________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-<wbr>bin/mailman/listinfo/libraries</a><br>
<br></blockquote></div><br></div>