GADTs and infix?
Conal Elliott
conal at conal.net
Mon Jul 17 13:51:59 EDT 2006
In ghc 6.5, why does this GADT definition get accepted
> data DArrowX :: * -> * -> * where
> First :: DArrowX a a' -> DArrowX (a,b) (a',b)
and also this one
> data DArrowX :: * -> * -> * where
> First :: a `DArrowX` a' -> DArrowX (a,b) (a',b)
but this not one
> data DArrowX :: * -> * -> * where
> First :: a `DArrowX` a' -> (a,b) `DArrowX` (a',b)
which yields
Malformed constructor signature: (a, b) DArrowX (a', b)
In the signature of a data constructor: a DArrowX a' -> (a, b)
DArrowX (a', b)
In the data type declaration for `DArrowX'
Is this a bug?
- Conal
More information about the Glasgow-haskell-bugs
mailing list