Deprecate Foldable for Either
Edward Kmett
ekmett at gmail.com
Thu Mar 2 19:02:53 UTC 2017
On Thu, Mar 2, 2017 at 11:59 AM, Andreas Abel <andreas.abel at ifi.lmu.de>
wrote:
> 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."
>
>
This would change the semantic of every
forM_ myeither $ \i -> ....
in existing code to silent errors.
Hell no.
-Edward
> 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/~a
>> bela/>
>> _______________________________________________
>> 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/
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20170302/711f87f2/attachment.html>
More information about the Libraries
mailing list