
#10867: Primop types should not mention () -------------------------------------+------------------------------------- Reporter: simonpj | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.10.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by fryguybob): For the broader question of the STM data invariant feature, it is slightly broken (#7930) and may be a significant amount of work to keep around if we use an implementation that keeps an approximate read-set for performance gains. I have asked around before and never found any users of the feature or code in the wild that uses the feature. Its usefulness for discovering problems in user code is limited in highly concurrent settings. The implementation takes a lock on every `TVar` when the transaction has touched an invariant meaning it simply will not see some interleavings that might be the exact ones that violate the invariant. Perhaps a better approach in the space is to extend Déjà Fu from Michael Walker and Colin Runciman to cover the same territory but include all the most significant interleavings. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10867#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler