[Haskell-cafe] Why aren't there anonymous sum types in Haskell?

Casey McCann syntaxglitch at gmail.com
Thu Jun 23 00:00:58 CEST 2011


On Wed, Jun 22, 2011 at 2:19 PM, wren ng thornton <wren at freegeek.org> wrote:
>>> [1] modulo the A:+:A ~ A issue.
>
> Oops, I should've said A:*:A there.
>
>> That issue is exactly my concern, though, and it seems a bit too
>> thorny to handwave aside.
>
> Indeed. If we have A:*:A ~ A, then A:*:A is not a categorical product.
(...)

Thank you, that clarified my intuitive sense of why it didn't seem to
work. The same argument, with arrows flipped appropriately, would
apply to a hypothetical coproduct where A :+: A ~ A, wouldn't it?

> Disjoint pairs are sufficient; they needn't be ordered. All we need is
> that they are "tagged" in the same way that disjoint unions are, so that
> we can distinguish the components of A*A.

Oh. Yes, of course, I probably knew that. I think confused myself by
habitually calling the components "fst" and "snd". Sigh.

- C.



More information about the Haskell-Cafe mailing list