Skip to content
  • Simon Marlow's avatar
    Fix a bug in the handling of nested orElse · f184d9ca
    Simon Marlow authored
    Exposed by the following snippet, courtesy of Bas van Dijk and Patrick
    Palka on libraries@haskell.org:
    
    import Control.Concurrent.STM
    main = do
      x <- atomically $ do
             t <- newTVar 1
             writeTVar t 2
             ((readTVar t >> retry) `orElse` return ()) `orElse` return ()
             readTVar t
      print x
    f184d9ca