Deprecate Foldable for Either

Andreas Abel andreas.abel at ifi.lmu.de
Thu Mar 2 16:59:18 UTC 2017


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

   instance Foldable (Either a) where
     foldMap _ _ = error "Folding Either?  Naah, I don't think this is a 
good idea."

On 02.03.2017 17:48, David Feuer wrote:
> The problem is that we'd then lose the perfectly good Traversable
> instance, which would be sad.
>
> On Mar 2, 2017 11:23 AM, "Andreas Abel" <andreas.abel at ifi.lmu.de
> <mailto:andreas.abel at ifi.lmu.de>> wrote:
>
>     Today a student came to me wondering why a certain function produced
>     a regular result, where he had expected an error.  Turned out he had
>     used `concat`, but not on a lists of lists as he had thought, but on
>     a lists of `Either a [b]`.
>
>     With the Foldable instance for Either, which considers Either a b to
>     be a container of 0-1 elements of b, errors are happily swallowed.
>
>     I think this instance is harmful and should be deprecated (and later
>     removed) from base.
>
>     There are similarly pointless Foldable instances as well.
>
>     See a discussion one year ago, which was heated, but had no
>     consequences.
>
>     https://mail.haskell.org/pipermail/libraries/2016-February/026678.html
>     <https://mail.haskell.org/pipermail/libraries/2016-February/026678.html>
>
>
>     --
>     Andreas Abel  <><      Du bist der geliebte Mensch.
>
>     Department of Computer Science and Engineering
>     Chalmers and Gothenburg University, Sweden
>
>     andreas.abel at gu.se <mailto:andreas.abel at gu.se>
>     http://www.cse.chalmers.se/~abela/ <http://www.cse.chalmers.se/~abela/>
>     _______________________________________________
>     Libraries mailing list
>     Libraries at haskell.org <mailto:Libraries at haskell.org>
>     http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>     <http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries>
>


-- 
Andreas Abel  <><      Du bist der geliebte Mensch.

Department of Computer Science and Engineering
Chalmers and Gothenburg University, Sweden

andreas.abel at gu.se
http://www.cse.chalmers.se/~abela/


More information about the Libraries mailing list