[GHC] #11760: runST with lazy blackholing breaks referential transparency
GHC
ghc-devs at haskell.org
Fri Feb 3 22:26:10 UTC 2017
#11760: runST with lazy blackholing breaks referential transparency
-------------------------------------+-------------------------------------
Reporter: Yuras | Owner: dfeuer
Type: bug | Status: patch
Priority: highest | Milestone: 8.2.1
Component: Core Libraries | Version: 7.10.3
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Incorrect result | Unknown/Multiple
at runtime | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D3038
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by David Feuer <David.Feuer@…>):
In [changeset:"2f5cb3d44d05e581b75a47fec222577dfa7a533e/ghc"
2f5cb3d4/ghc]:
{{{
#!CommitTicketReference repository="ghc"
revision="2f5cb3d44d05e581b75a47fec222577dfa7a533e"
Attempt to make lazy ST thread safe
Use `noDuplicate#` to prevent lazy `ST` thunks from
being evaluated in multiple GHC threads.
Some lazy `ST` functions added laziness that did not seem to be useful
(e.g.,
creating lazy pairs that will never be matched unless one of their
components
is demanded). Stripped that out.
Reviewers: ekmett, simonpj, bgamari, simonmar, austin, hvr
Subscribers: rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D3038
GHC Trac Issues: #11760
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11760#comment:15>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list