[GHC] #7964: GADTs in Haskell98 style

GHC ghc-devs at haskell.org
Wed Jun 5 23:18:59 CEST 2013


#7964: GADTs in Haskell98 style
-----------------------------+----------------------------------------------
Reporter:  wvv               |          Owner:                         
    Type:  feature request   |         Status:  new                    
Priority:  normal            |      Component:  Compiler (Type checker)
 Version:  7.6.3             |       Keywords:                         
      Os:  Unknown/Multiple  |   Architecture:  Unknown/Multiple       
 Failure:  Other             |      Blockedby:                         
Blocking:                    |        Related:                         
-----------------------------+----------------------------------------------
 it would be nice if it is possible to write GADTs in Haskell98 style, like
 this:


 {{{
 data Expr a = I Int   :: Expr Int
             | B Bool  :: Expr Bool
             | Add (Expr Int) (Expr Int)  :: Expr Int
             | Mul (Expr Int) (Expr Int)  :: Expr Int
             | Eq  (Expr Int) (Expr Int)  :: Expr Bool
             | Magic  (Expr a) (Expr a)
 }}}

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7964>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler



More information about the ghc-tickets mailing list