Simon Peyton-Jones wrote:
This is a nasty corner I agree.  GHC requires -XGADTs for you to *define* a 
GADT. Perhaps it should also require -XGADTs for you to *match against* one (as 
you are doing here).  That would avoid this particular hole.  If you think that 
would be a step forward, do put forward a Trac feature request, and encourage 
others to support it.

Does GHC require any flags to pattern-match against an existential constructor? (does it require type-system complication?)

(and what if GADT syntax was used for an ordinary data type? or for an ordinary existential?)

but I'd support requiring -XGADTs in any such pattern-match in which XRelaxedPolyRec could make a difference. Somehow it doesn't seem fair for a module to imply that it *doesn't* use GADTs, if it cannot even by type-checked without understanding them.
also see http://hackage.haskell.org/trac/ghc/ticket/2004

-Isaac
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to