
I'd argue that removing the possibility to access an unsafePerformIO-
#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 bgamari): based number generator at all would be an even stronger guarantee that non-determinism cannot be introduced, is that not accurate? Certainly, but there is a reason we use uniques: they allow very cheap comparison. Recovering this in a language with no sense of identity of pure values is not easy and I don't believe we are willing to eat the compile time regressions that would likely come from dropping uniques from the compiler. Of course, if you can show a rework of a subset of the compiler that doesn't regress in performance while avoiding a unique source, we would be quite interested. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14769#comment:12 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler