Deprecate Foldable for Either
andreas.abel at ifi.lmu.de
Thu Mar 2 16:22:48 UTC 2017
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 gu.se
More information about the Libraries