Reify and separating renamer+TH from type-checking

Simon Peyton Jones simonpj at
Fri Jan 8 23:08:21 UTC 2016

Bother.  That's true.  And it's a vital feature.  Otherwise how do we do

	data T = T1 | T2
	$(makeLenses 'T)

So we can't separate the two after all.  Sorry -- I totally forgot about that. Very annoying.


| -----Original Message-----
| From: Edward Z. Yang [mailto:ezyang at]
| Sent: 08 January 2016 19:40
| To: Simon Peyton Jones <simonpj at>
| Cc: ghc-devs <ghc-devs at>
| Subject: Reify and separating renamer+TH from type-checking
| I implemented the refactoring to run the renamer and TH splices all
| first before doing any type-checking, but actually there's a problem:
| Template Haskell splices can call 'reify', which needs the type
| information in order to supply the information about the identifiers
| in question.  I can't think of any good way around this problem.
| Edward

More information about the ghc-devs mailing list