On Thu, 2012-02-23 at 23:45 +0100, Maxime Henrion wrote:
> On Thu, 2012-02-23 at 23:24 +0100, Bas van Dijk wrote:
> > * 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. 

Sorry, I had myself confused; it wouldn't return bottom, there would
just be no way to get an instance for it (the rest of the argument still
holds).

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to