
4 Jul
2011
4 Jul
'11
6:35 p.m.
Hi, In ghci, if you change a module that exports a TH template it will not recompile modules that use the template. Example: -- In A.hs {-#LANGUAGE TemplateHaskell#-} module A where import Language.Haskell.TH a = [d|x = 5|] -- in B.hs {-#LANGUAGE TemplateHaskell#-} import A a -- As expected in ghci B.hs: *Main> x 5 -- But if i change the def. of a to [d|x = 4|] and do :r [1 of 2] Compiling A ( A.hs, interpreted ) Ok, modules loaded: A, Main. *Main> x 5 The only workaround i know is to reload all modules. I assume you have the same problem when compiling with ghc. This has caused headaches for me on several occasions lately, is there a ticket for it or should i submit one? Regards, Jonas