on master help sign in
Get ready for AMP
fbf3385Index Int
Data/Yaml.hs+7−1
@@ -74,7 +74,8 @@ import qualified Data.Conduit as C
74import qualified Data.Conduit.List as CL
74import qualified Data.Conduit.List as CL
75import Control.Monad.Trans.Class (MonadTrans, lift)
75import Control.Monad.Trans.Class (MonadTrans, lift)
76import Control.Monad.IO.Class (MonadIO, liftIO)
76import Control.Monad.IO.Class (MonadIO, liftIO)
77−import Control.Monad (liftM)
77+import Control.Monad (liftM, ap)
78+import Control.Applicative (Applicative(..))
78import Data.Char (toUpper)
79import Data.Char (toUpper)
79import qualified Data.Vector as V
80import qualified Data.Vector as V
80import Data.Text (Text, pack)
81import Data.Text (Text, pack)
@@ -185,6 +186,11 @@ data ParseException = NonScalarKey
185instance Exception ParseException
186instance Exception ParseException
186
187
187newtype PErrorT m a = PErrorT { runPErrorT :: m (Either ParseException a) }
188newtype PErrorT m a = PErrorT { runPErrorT :: m (Either ParseException a) }
189+instance Monad m => Functor (PErrorT m) where
190+ fmap = liftM
191+instance Monad m => Applicative (PErrorT m) where
192+ pure = return
193+ (<*>) = ap
188instance Monad m => Monad (PErrorT m) where
194instance Monad m => Monad (PErrorT m) where
189 return = PErrorT . return . Right
195 return = PErrorT . return . Right
190 (PErrorT m) >>= f = PErrorT $ do
196 (PErrorT m) >>= f = PErrorT $ do