id summary reporter owner description type status priority milestone component version resolution keywords cc os architecture failure testcase blockedby blocking related differential wikipage
8920 Alternative GADT syntax guest "An alternative syntax for GADTs
Instead of
{{{
data Term x where
K :: Term (a -> b -> a)
S :: Term ((a -> b -> c) -> (a -> b) -> a -> c)
Const :: a -> Term a
(:@) :: Term (a -> b) -> (Term a) -> Term b
}}}
You can write
{{{
data Term x = K :: Term (a -> b -> a)
| S :: Term ((a -> b -> c) -> (a -> b) -> a -> c)
| Const a :: Term a
| (:@) (Term (a -> b)) (Term a) :: Term b
}}}
" feature request closed normal 8.0.1 Compiler (Parser) 7.8.1-rc2 wontfix gadts Unknown/Multiple Unknown/Multiple Other