Re: [GHC] #13615: Nondeterminism in ‘pure’ function w/ parallel evaluation & memo combinators

GHC ghc-devs at haskell.org
Fri Jun 16 16:25:45 UTC 2017


#13615: Nondeterminism in ‘pure’ function w/ parallel evaluation & memo combinators
-------------------------------------+-------------------------------------
        Reporter:  pacak             |                Owner:  bgamari
            Type:  bug               |               Status:  new
        Priority:  highest           |            Milestone:  8.2.1
       Component:  Compiler          |              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):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by bgamari):

 > According to people on that thread, strict ST should not have the same
 problem. I don't totally understand why.

 In the case of strict ST all effects should be executed before we produce
 the result. This means that there should be no chance of entering any
 thunk arising from the `ST` block producing effects, meaning that multiple
 entry should pose no thread to correctness. However, if my hypothesis from
 comment:36 holds then it is indeed possible for the garbage collector to
 suspend a computation before all effects have taken place. This places us
 in a position where multiple-entry will indeed cause effects to be
 performed multiple times.

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


More information about the ghc-tickets mailing list