Deprecate Foldable for Either

Andrew Martin andrew.thaddeus at
Thu Mar 9 02:49:18 UTC 2017

I am opposed to making this change. I have the same objections that others
on this thread do. It's unfortunate that the concat put in scope by the
Prelude is the one from Data.Foldable and not the one from GHC.OldList. I
do not think that removing Foldable instances is an appropriate solution to
this problem though.

On Thu, Mar 2, 2017 at 11:22 AM, Andreas Abel <andreas.abel at>

> 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.
> --
> Andreas Abel  <><      Du bist der geliebte Mensch.
> Department of Computer Science and Engineering
> Chalmers and Gothenburg University, Sweden
> andreas.abel at
> _______________________________________________
> Libraries mailing list
> Libraries at

-Andrew Thaddeus Martin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Libraries mailing list