
Hi libraries@,
I'm also -1 on these instances. I'd prefer to see that the various tuples
have instances that don't privilege one type variable over another. I find
the existing instances for 2-tuples are already more likely to be used in
error than intentionally, and even when used intentionally turn heads with
their surprising behavior. I'd prefer to have Writer from transformers
used, for example, when the non-symmetric treatment of the type parameters
is intended.
Best regards,
Eric Mertens
On Mon, Apr 1, 2019 at 9:29 PM Fumiaki Kinoshita
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
-- Eric Mertens