base: Remove `Monad(fail)` method and reexport `MonadFail(fail)` instead
[ghc.git] / libraries / base / Text / ParserCombinators / ReadPrec.hs
index 136b8ae..df77045 100644 (file)
@@ -73,27 +73,31 @@ newtype ReadPrec a = P (Prec -> ReadP a)
 
 -- Functor, Monad, MonadPlus
 
+-- | @since 2.01
 instance Functor ReadPrec where
   fmap h (P f) = P (\n -> fmap h (f n))
 
+-- | @since 4.6.0.0
 instance Applicative ReadPrec where
     pure x  = P (\_ -> pure x)
     (<*>) = ap
+    liftA2 = liftM2
 
+-- | @since 2.01
 instance Monad ReadPrec where
-  fail s    = P (\_ -> fail s)
   P f >>= k = P (\n -> do a <- f n; let P f' = k a in f' n)
 
+-- | @since 4.9.0.0
 instance MonadFail.MonadFail ReadPrec where
-  fail s    = P (\_ -> fail s)
+  fail s    = P (\_ -> MonadFail.fail s)
 
-instance MonadPlus ReadPrec where
-  mzero = pfail
-  mplus = (+++)
+-- | @since 2.01
+instance MonadPlus ReadPrec
 
+-- | @since 4.6.0.0
 instance Alternative ReadPrec where
-    empty = mzero
-    (<|>) = mplus
+  empty = pfail
+  (<|>) = (+++)
 
 -- precedences
 type Prec = Int