<div dir="auto">It would be more ineffecient if I had to convert my lists to Data.Sets ot Data.Maps every time... For small lists, the operations are simple and practical. This doesn't have anything with generalization of type signatures anyway.</div><br><div class="gmail_quote"><div dir="ltr">2018년 11월 1일 (목) 11:58에 David Feuer <<a href="mailto:david.feuer@gmail.com">david.feuer@gmail.com</a>>님이 작성:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div>I don't think it's really so great that Data.List has a bunch of operations that are inefficient on lists.<br><br><div class="gmail_quote"><div dir="ltr">On Wed, Oct 31, 2018, 10:53 PM Dannyu NDos <<a href="mailto:ndospark320@gmail.com" target="_blank" rel="noreferrer">ndospark320@gmail.com</a> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><a id="m_-5550854795530768115m_-1011512877651145680gmail-v:deleteBy" class="m_-5550854795530768115m_-1011512877651145680gmail-def" rel="noreferrer noreferrer">I've suffered from inconvenience due to the restricted type signature. I'll be very glad if such restrictions are lifted:<br></a></div><div><a id="m_-5550854795530768115m_-1011512877651145680gmail-v:deleteBy" class="m_-5550854795530768115m_-1011512877651145680gmail-def" rel="noreferrer noreferrer"><br></a></div><div><a id="m_-5550854795530768115m_-1011512877651145680gmail-v:deleteBy" class="m_-5550854795530768115m_-1011512877651145680gmail-def" rel="noreferrer noreferrer">deleteBy</a> :: (a -> b -> <a href="http://hackage.haskell.org/package/base-4.12.0.0/docs/Data-Bool.html#t:Bool" title="Data.Bool" rel="noreferrer noreferrer" target="_blank">Bool</a>) -> a -> [b] -> [b]</div><div><a id="m_-5550854795530768115m_-1011512877651145680gmail-v:deleteFirstsBy" class="m_-5550854795530768115m_-1011512877651145680gmail-def" rel="noreferrer noreferrer">deleteFirstsBy</a> :: (a -> b -> <a href="http://hackage.haskell.org/package/base-4.12.0.0/docs/Data-Bool.html#t:Bool" title="Data.Bool" rel="noreferrer noreferrer" target="_blank">Bool</a>) -> [a] -> [b] -> [b]</div><div><a id="m_-5550854795530768115m_-1011512877651145680gmail-v:intersectBy" class="m_-5550854795530768115m_-1011512877651145680gmail-def" rel="noreferrer noreferrer">intersectBy</a> :: (a -> b -> <a href="http://hackage.haskell.org/package/base-4.12.0.0/docs/Data-Bool.html#t:Bool" title="Data.Bool" rel="noreferrer noreferrer" target="_blank">Bool</a>) -> [a] -> [b] -> [a] <br></div><div><br></div><div>I approve these versions because:</div><div>1. It makes more sense that the "usual" `delete` and `intersect` functions are specialization of the "By" operations, not the vice versa.</div><div>2. Data.Map.Lazy module from <b>containers</b> package has these kind of "By" operations.<br></div><div><br></div><div>The previous discussion about this in Sep 2016 didn't make much conclusion, so let the discussion continue.<br></div></div>
_______________________________________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org" rel="noreferrer noreferrer" target="_blank">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer noreferrer noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br>
</blockquote></div></div></div>
</blockquote></div>