<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 2, 2017 at 11:59 AM, Andreas Abel <span dir="ltr"><<a href="mailto:andreas.abel@ifi.lmu.de" target="_blank">andreas.abel@ifi.lmu.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Ok, Foldable is a formal condition for Traversable, but not actually used in the implementation of Traversable Either.  This still leaves room to implement Foldable for Either by<br>
<br>
  instance Foldable (Either a) where<br>
    foldMap _ _ = error "Folding Either?  Naah, I don't think this is a good idea."<span class=""><br>
<br></span></blockquote><div><br></div><div>This would change the semantic of every</div><div><br></div><div>forM_ myeither $ \i -> .... </div><div><br></div><div>in existing code to silent errors.</div><div><br></div><div>Hell no.</div><div><br></div><div>-Edward</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
On 02.03.2017 17:48, David Feuer wrote:<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
The problem is that we'd then lose the perfectly good Traversable<br>
instance, which would be sad.<br>
<br>
On Mar 2, 2017 11:23 AM, "Andreas Abel" <<a href="mailto:andreas.abel@ifi.lmu.de" target="_blank">andreas.abel@ifi.lmu.de</a><br></span><span class="">
<mailto:<a href="mailto:andreas.abel@ifi.lmu.de" target="_blank">andreas.abel@ifi.lmu.d<wbr>e</a>>> wrote:<br>
<br>
    Today a student came to me wondering why a certain function produced<br>
    a regular result, where he had expected an error.  Turned out he had<br>
    used `concat`, but not on a lists of lists as he had thought, but on<br>
    a lists of `Either a [b]`.<br>
<br>
    With the Foldable instance for Either, which considers Either a b to<br>
    be a container of 0-1 elements of b, errors are happily swallowed.<br>
<br>
    I think this instance is harmful and should be deprecated (and later<br>
    removed) from base.<br>
<br>
    There are similarly pointless Foldable instances as well.<br>
<br>
    See a discussion one year ago, which was heated, but had no<br>
    consequences.<br>
<br>
    <a href="https://mail.haskell.org/pipermail/libraries/2016-February/026678.html" rel="noreferrer" target="_blank">https://mail.haskell.org/piper<wbr>mail/libraries/2016-February/<wbr>026678.html</a><br>
    <<a href="https://mail.haskell.org/pipermail/libraries/2016-February/026678.html" rel="noreferrer" target="_blank">https://mail.haskell.org/pipe<wbr>rmail/libraries/2016-February/<wbr>026678.html</a>><br>
<br>
<br>
    --<br>
    Andreas Abel  <><      Du bist der geliebte Mensch.<br>
<br>
    Department of Computer Science and Engineering<br>
    Chalmers and Gothenburg University, Sweden<br>
<br></span>
    <a href="mailto:andreas.abel@gu.se" target="_blank">andreas.abel@gu.se</a> <mailto:<a href="mailto:andreas.abel@gu.se" target="_blank">andreas.abel@gu.se</a>><br>
    <a href="http://www.cse.chalmers.se/~abela/" rel="noreferrer" target="_blank">http://www.cse.chalmers.se/~ab<wbr>ela/</a> <<a href="http://www.cse.chalmers.se/~abela/" rel="noreferrer" target="_blank">http://www.cse.chalmers.se/~a<wbr>bela/</a>><br>
    ______________________________<wbr>_________________<br>
    Libraries mailing list<br>
    <a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a> <mailto:<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-bi<wbr>n/mailman/listinfo/libraries</a><br>
    <<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-b<wbr>in/mailman/listinfo/libraries</a>><br>
<br>
</blockquote><div class="HOEnZb"><div class="h5">
<br>
<br>
-- <br>
Andreas Abel  <><      Du bist der geliebte Mensch.<br>
<br>
Department of Computer Science and Engineering<br>
Chalmers and Gothenburg University, Sweden<br>
<br>
<a href="mailto:andreas.abel@gu.se" target="_blank">andreas.abel@gu.se</a><br>
<a href="http://www.cse.chalmers.se/~abela/" rel="noreferrer" target="_blank">http://www.cse.chalmers.se/~ab<wbr>ela/</a><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-bi<wbr>n/mailman/listinfo/libraries</a><br>
</div></div></blockquote></div><br></div></div>