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@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@ifi.lmu.de
<mailto:andreas.abel@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@ifi.lmu.de
<mailto:andreas.abel@ifi.lmu.de >
<mailto:andreas.abel@ifi.lmu.de
<mailto: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/0 26678.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@gu.se <mailto:andreas.abel@gu.se>
<mailto:andreas.abel@gu.se <mailto:andreas.abel@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@haskell.org <mailto:Libraries@haskell.org>
<mailto:Libraries@haskell.org <mailto:Libraries@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@gu.se <mailto:andreas.abel@gu.se>
http://www.cse.chalmers.se/~abela/ <http://www.cse.chalmers.se/~abela/ >
_______________________________________________
Libraries mailing list
Libraries@haskell.org <mailto:Libraries@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@gu.se
http://www.cse.chalmers.se/~abela/