[GHC] #14769: The RecompBecause [TH] check is not resume-build-safe

GHC ghc-devs at haskell.org
Wed Feb 28 09:18:25 UTC 2018


#14769: The RecompBecause [TH] check is not resume-build-safe
-------------------------------------+-------------------------------------
        Reporter:  nh2               |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.2.2
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Incorrect result  |  Unknown/Multiple
  at runtime                         |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #481              |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by simonmar):

 I'm very sceptical (in case you hadn't guessed!). @niteria spent a great
 deal of time removing cases of non-determinism from the compiler, so that
 we now have non-determinism at the ABI level. The way it's done currently
 is more robust than relying on unique determinism, because the compiler
 produces deterministic output even in the presence of unique non-
 determinism. Relying on unique determinism is quite fragile and easily
 broken, and we have no way to know when that happens - at least with the
 current scheme we have some protection in the APIs for things like
 `UniqFM` so that it's hard to accidentally introduce non-determinism.

 I'm really not keen on the idea of using the module index, because
 compiling a module individually with `-c` should produce exactly the same
 output as if it was compiled as part of a set of modules with `--make`.

 Why not instead extend the current mechanism to add non-determinism in the
 code generator?

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14769#comment:10>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list