[GHC] #9321: Support for waiting on multiple MVars

GHC ghc-devs at haskell.org
Thu Jul 17 07:15:36 UTC 2014


#9321: Support for waiting on multiple MVars
-------------------------------------+-------------------------------------
              Reporter:  schyler     |             Owner:  simonmar
                  Type:  feature     |            Status:  new
  request                            |         Milestone:
              Priority:  normal      |           Version:  7.8.3
             Component:  Runtime     |          Keywords:  mvar
  System                             |  Operating System:  Unknown/Multiple
            Resolution:              |   Type of failure:  None/Unknown
Differential Revisions:              |         Test Case:
          Architecture:              |          Blocking:
  Unknown/Multiple                   |
            Difficulty:  Unknown     |
            Blocked By:              |
       Related Tickets:              |
-------------------------------------+-------------------------------------

Comment (by simonpj):

 Some things to think about here:

  * Could we instead make the STM implementation fairer or faster, if those
 are the problems?

  * Before going anywhere, you need to define a complete API (e.g. is
 `fuseMVar` the only new operation?) and then give the semantics of the new
 operations.  The original Concurrent Haskell paper, or `Tackling the
 Awkward Squad` gives the style for this semantics.  That will force to the
 surface questions like:
    * What if you `take` or `put` to a fused `MVar`?
    * Can the same `MVar` be fused in to several different compounds?

 Simon

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


More information about the ghc-tickets mailing list