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@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


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

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

andreas.abel@gu.se
http://www.cse.chalmers.se/~abela/
_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries



--
-Andrew Thaddeus Martin