Deprecate Foldable for Either
David Feuer
david.feuer at gmail.com
Thu Mar 2 19:28:03 UTC 2017
Yes. That is an excellent plan. I'd love to call it Data.List, but others
will disagree.
On Mar 2, 2017 2:17 PM, "Andreas Abel" <andreas.abel at ifi.lmu.de> wrote:
> We could have a module
>
> Data.List.ReallyJustListsAndNotSomeThingMoreGeneric
>
> which implements concat and friends just for lists and could be imported
> if one wants to have the list operations. Currently,
>
> import qualified Data.List as List
>
> does not give on the list operations as e.g.
>
> List.concat
>
> but the generic ones.
>
> See also http://ghc.haskell.org/trac/ghc/ticket/13345
>
> On 02.03.2017 20:02, Edward Kmett wrote:
>
>>
>> On Thu, Mar 2, 2017 at 11:59 AM, Andreas Abel <andreas.abel at ifi.lmu.de
>> <mailto: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>
>> <mailto: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>
>>
>> <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>
>> <mailto:andreas.abel at gu.se <mailto:andreas.abel at gu.se>>
>> http://www.cse.chalmers.se/~abela/
>> <http://www.cse.chalmers.se/~abela/>
>> <http://www.cse.chalmers.se/~abela/
>> <http://www.cse.chalmers.se/~abela/>>
>> _______________________________________________
>> Libraries mailing list
>> Libraries at haskell.org <mailto:Libraries at haskell.org>
>> <mailto: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>
>> <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 <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/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20170302/3cfc4819/attachment-0001.html>
More information about the Libraries
mailing list