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