RFC for a change in EmptyDataDecls instance deriving
Edward Kmett
ekmett at gmail.com
Thu Jul 16 12:29:50 UTC 2015
I'd caution against randomly changing Eq and Ord for Void to be less
defined in the ill-considered name of consistency.
We rather deliberately made them as "defined as possible" back in 2012
after a very long discussion in which the pendulum swung the other way
using a few examples where folks tied knots with fixed points to get
inhabitants of Void and it was less consistent to rule them out than it was
to define equality on _|_ to be True.
I'd challenge that nothing is gained by making these combinators strict in
their arguments.
-Edward
On Thu, Jul 16, 2015 at 7:14 AM, Herbert Valerio Riedel <hvr at gnu.org> wrote:
> On 2015-07-16 at 05:28:03 +0200, David Feuer wrote:
> > It's all a bit weird. I think the Proxy instance is lazy too. I would
> tend
> > to think that empty types shouldn't have these instances, and that if
> they
> > do that should be strict (empty case), but I can't prove that's the right
> > way.
>
> Btw, something similiar came up for deepseq, regarding NFData instances
> for types only inhabited by ⊥ (and the issue of H2010 forbidding
> instance auto-derivation for constructor-less types was mentioned too):
>
> https://github.com/haskell/deepseq/pull/1#issuecomment-61914093
>
> -- hvr
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20150716/5f377b3b/attachment.html>
More information about the Libraries
mailing list