Re: Proposal: Migrate Data.Functor.{Sum, Product, Compose} from transformers to base.

I really like this proposal, especially since having convenient Eq1, Ord1, Read1, Show1, etc. instances is something I've wanted for a while. I have some questions about some specifics: 1. Just to verify, you're proposing a breaking change in which Data.Functor.Constant no longer exports Constant, but rather Const? 2. You mentioned that the additions to base could use DefaultSignatures. Could you give an example of how this would work?

Does it count as bikeshedding if I'd suggest to make them polykinded? I think Vinyl would benefit from this: https://hackage.haskell.org/package/vinyl-0.5.1/docs/Data-Vinyl-Functor.html Best regards, Marcin Mrotek

Enabling PolyKinds is actually one motivation for doing the move in the
first place. It changes nothing about the modules involved when used in
code that doesn't turn on the extension.
-Edward
On Fri, Jul 24, 2015 at 3:08 AM, Marcin Mrotek
Does it count as bikeshedding if I'd suggest to make them polykinded? I think Vinyl would benefit from this:
https://hackage.haskell.org/package/vinyl-0.5.1/docs/Data-Vinyl-Functor.html
Best regards, Marcin Mrotek _______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries

Ryan: I'm proposing not moving Data.Functor.Constant at all and leaving
that module alone, unmoved.
I'm proposing rather adding Data.Functor.Const and having
Control.Applicative re-export Const from it rather than supply its own.
This allows us to follow the general pattern of having all the data types
available on display in the Data.Functor.* hierarchy, while still allowing
for the fact that Const won the convenience war a long time ago.
This avoids breaking any of the handful of users of the current Constant
data type, which could then be gracefully deprecated -- or not as Ross sees
fit, within his purview as the maintainer of the transformers package.
-Edward
On Thu, Jul 23, 2015 at 11:13 PM, Ryan Scott
I really like this proposal, especially since having convenient Eq1, Ord1, Read1, Show1, etc. instances is something I've wanted for a while.
I have some questions about some specifics:
1. Just to verify, you're proposing a breaking change in which Data.Functor.Constant no longer exports Constant, but rather Const? 2. You mentioned that the additions to base could use DefaultSignatures. Could you give an example of how this would work? _______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
participants (3)
-
Edward Kmett
-
Marcin Mrotek
-
Ryan Scott