Skip to content

Remove prefix arrow notation for GADTs

Currently, GHC supports prefix (->) arrows in a GADT declaration (#9096 (closed)):

data T a where
   MkT :: (->) a (T a)

However, this special casing is brittle and Richard and I think we should remove it. It doesn't support (->) @k1 @k2 t1 t2, type synonyms for (->) nor type families. It's best to think of arrows -> in a data constructor as separating fields.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information