[Haskell-cafe] ANN: generic-deepseq

José Pedro Magalhães jpm at cs.uu.nl
Fri Feb 24 07:49:28 CET 2012


2012/2/23 Maxime Henrion <mhenrion at gmail.com>

> > * Why do you have the instance:
> >
> > instance GDeepSeq V1 where grnf _ = ()
> >
> > The only way to construct values of a void type is using ⊥. And I
> > would expect that rnf ⊥ = ⊥, not (). I think the best thing is to just
> > remove the V1 instance.
> This would have the consequence that any type tagged with a phantom type
> (for whatever reason) couldn't be used with deepseq, it would return
> bottom. What if I want to deepseq a 2-3 finger tree tagged with a
> type-level natural that ensures the proper shape of the tree statically?
> It seemed to me that I should be able to do that; this is why I added
> this V1 instance.

I'm not sure I understand your comment... V1 should only be used for
datatypes without constructors, such as `data Empty`.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20120224/649db818/attachment.htm>

More information about the Haskell-Cafe mailing list