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)
commit02362d12e5ae0af20d637eec97db51f6827a1625
tree263f8e2461f12ee5f6a17f10f9219913d43bb444
parent1e2f7cf3ffb76daf59b410656372c4eac09eae05
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'
Language/Haskell/TH.hs
Language/Haskell/TH/Ppr.hs
Language/Haskell/TH/Syntax.hs