#7277: Recompilation check fails for TH unless functions are inlined ---------------------------------+------------------------------------------ Reporter: orenbenkiki | Owner: Type: bug | Status: new Priority: high | Milestone: 7.6.2 Component: Template Haskell | Version: 7.4.2 Keywords: | Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: Incorrect result at runtime Difficulty: Unknown | Testcase: Blockedby: | Blocking: Related: 481 | ---------------------------------+------------------------------------------
Comment(by simonmar): Yes, good bug. I think this is the result of an unsafe optimisation in the dependency checker: it currently assumes that if none of the modules below the current module were recompiled, then the current module does not need to be recompiled, even if it uses TH. However this ignores the fact that other packages may have changed, and we have no way to detect that (the hash only records ABI changes, not semantic changes). So I'll have to back off from this optimisation and always recompile a module that uses TH. However I can imagine this is going to result in complaints from users that things get recompiled even when obviously nothing has changed. Perhaps we could record a hash of the object code for a package or something? Ideas anyone? -- Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7277#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler _______________________________________________ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs