On 18/03/13 19:07, s9gf4ult wrote:
    
    
      
      
      nor STM, becuase IO is not acceptable inside STM transaction.
      
      I just need some thread-safe blocking variable like MVar
      
      modifyMVar
      :: MVar
      a -> (a -> IO
      (a, b)) -> IO
      b
      
    
    
    Whilst it's true that IO cannot be performed within an STM action, a
    common pattern is to return the necessary IO action from the STM
    action, and then run it once the STM transaction has completed
    successfully.
    
    Tim