
I'm similarly weakly +1 on adding Data.Functor.Zero, but -1 on One because
of the existence of Proxy.
-Edward
On Wed, Jan 25, 2017 at 8:36 PM, Ryan Scott
You linked to the Trac issue [1], but for the purposes of motivating this proposal, I think it's important that we reiterate why you want this.
First of all, I think we should be clear that you're proposing to add these in the modules:
* Data.Functor.One * Data.Functor.Zero
Right? Not literally "Data.Functor", as the title might mislead you into believing.
Also, for a reason why you might want these - there are currently analogs in the GHC.Generics [2] module:
* data U1 a = U1 -- isomorphic to One * data V1 a -- isomorphic to Zero
But this is an unfortunate situation, since I'd rather not recommend that folks import a generics library to use what should be general-purpose datatypes.
Now, as for the proposal itself:
* I'm weakly +1 in favor of Zero. I think it'd be nice to have a proper * -> * counterpart to Void in base (that isn't V1, obviously). * I'm weakly -1 in favor of One, simply because we already have Data.Proxy, which came first.
Ryan S. ----- [1] https://ghc.haskell.org/trac/ghc/ticket/13177 [2] http://hackage.haskell.org/package/base-4.9.1.0/docs/GHC-Generics.html _______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries