Implement lookupTypeName/lookupValueName, and reification of type family instances
authorSimon Peyton Jones <simonpj@microsoft.com>
Tue, 23 Aug 2011 12:47:19 +0000 (13:47 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Tue, 23 Aug 2011 12:47:19 +0000 (13:47 +0100)
commit54ee4dabb83bc736dba86e57cf2c34a308646558
treeb5025efe12051f0b29518af7388fdfa5a09b3472
parent963bd4b33ba37b98c64cb1ca35d9608bc4a044b6
Implement lookupTypeName/lookupValueName, and reification of type family instances

This patch (and its GHC counterpart) implements
   Trac #4429 (lookupTypeName, lookupValueName)
   Trac #5406 (reification of type/data family instances)

See detailed discussion in those tickets.

TH.ClassInstance is no more; instead reifyInstances returns a [Dec],
which requires fewer data types and natuarally accommodates family
instances.

'reify' on a type/data family now returns 'FamilyI', a new data
constructor in 'Info'
libraries/template-haskell/Language/Haskell/TH.hs
libraries/template-haskell/Language/Haskell/TH/Ppr.hs
libraries/template-haskell/Language/Haskell/TH/Syntax.hs