On Fri, 2012-02-24 at 15:28 +0100, Andres Löh wrote:
> Hi.
> 
> >> I don't understand what's going on here. Instances for V1 should of
> >> course be defined if they can be! And in this case, a V1 instance
> >> makes sense and should be defined. The definition itself doesn't
> >> matter, as it'll never be executed.
> >
> >
> > The definition certainly matters:
> 
> [...]
> 
> You're right. I was too quick to conclude the definition doesn't
> matter. But it should still be there. V1 can occur in representations
> of non-empty types (even if the current mechanism might not generate
> them). You'd still want to be able to call generic functions on such
> types.

Would you have an example of a type for which it would be useful to have
a DeepSeq instance, and that would require a V1 instance? I cannot think
of one now; I originaly thought it would be necessary to permit deriving
DeepSeq instances for types tagged with "void" types, but as José
explained, in that case, the V1 instance isn't needed because those void
types don't show up in the representation.

Cheers,
Maxime

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