Moved MonadPlus instance for STM from Control.Monad.STM to GHC.Conc to avoid an orpha...
[ghc-base.git] / GHC / Conc.lhs
index 715e569..c1b2107 100644 (file)
@@ -476,6 +476,10 @@ thenSTM (STM m) k = STM ( \s ->
 returnSTM :: a -> STM a
 returnSTM x = STM (\s -> (# s, x #))
 
+instance MonadPlus STM where
+  mzero = retry
+  mplus = orElse
+
 -- | Unsafely performs IO in the STM monad.  Beware: this is a highly
 -- dangerous thing to do.  
 --