I'mĀ +1 on this on the grounds we established a few years back of adding unambigously defined instances where they are well determined.

I've gone to reach for a couple of these before being stymied by their absence in the past and had to build local data types or, worse, inflict orphans on my users.

-Edward

On Tue, Apr 2, 2019 at 12:29 AM Fumiaki Kinoshita <fumiexcel@gmail.com> wrote:
I submitted https://gitlab.haskell.org/ghc/ghc/merge_requests/644 but it might be still controversial. I'd like to get more opinions again.

Here's the list of proposed instances:

Foldable ((,,) a b)
Foldable ((,,,) a b c)
Traversable ((,,) a b)
Traversable ((,,,) a b c)
Functor ((,,) a b)
(Monoid a, Monoid b) => Applicative ((,,) a b)
(Monoid a, Monoid b) => Monad ((,,) a b)
Functor ((,,,) a b c)
(Monoid a, Monoid b, Monoid c) => Applicative ((,,,) a b c)
(Monoid a, Monoid b, Monoid c) => Monad ((,,,) a b c)

The absence of Traversable instances for tuples feels quite inconsistent given that there are Bitraversable instancesĀ already.
_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries