Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master
http://hackage.haskell.org/trac/ghc/changeset/5c4a4c4bfe2a007f41f42ebab689bcd7219bed0d >--------------------------------------------------------------- commit 5c4a4c4bfe2a007f41f42ebab689bcd7219bed0d Author: Simon Peyton Jones <simo...@microsoft.com> Date: Sat Jun 11 16:44:07 2011 +0100 Make TH capable of quoting GADT declarations (Trac #5217) Template Haskell doesn't support GADTs directly but we can use equality constraints to do the job. Here's an example of the dump from splicing such a declaration: [d| data T a b where T1 :: Int -> T Int Char T2 :: a -> T a a T3 :: a -> T [a] a T4 :: a -> b -> T b [a] |] ======> T5217.hs:(6,3)-(9,53) data T a[aQW] b[aQX] = (b[aQX] ~ Char, a[aQW] ~ Int) => T1 Int | b[aQX] ~ a[aQW] => T2 a[aQW] | a[aQW] ~ [b[aQX]] => T3 b[aQX] | forall a[aQY]. b[aQX] ~ [a[aQY]] => T4 a[aQY] a[aQW] compiler/deSugar/DsMeta.hs | 110 +++++++++++++++++++++++++++++---------- compiler/hsSyn/HsTypes.lhs | 14 +++++ compiler/typecheck/TcHsType.lhs | 19 +------ compiler/typecheck/TcMType.lhs | 5 +- 4 files changed, 102 insertions(+), 46 deletions(-) Diff suppressed because of size. To see it, use: git show 5c4a4c4bfe2a007f41f42ebab689bcd7219bed0d _______________________________________________ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc