on master help sign in
Get ready for AMP
commitfbf338588d4a609a7d96a4f4adc7437c7a85121c authorIndex Int <vlad.z.4096@gmail.com> dateSun 24 Aug 2014, 06:31 (12 years ago) parentf905d51
1 file changed+7−1
Data/Yaml.hs+7−1
Data/Yaml.hs+7−1
@@ -74,7 +74,8 @@ import qualified Data.Conduit as C
7474import qualified Data.Conduit.List as CL
7575import Control.Monad.Trans.Class (MonadTrans, lift)
7676import Control.Monad.IO.Class (MonadIO, liftIO)
77−import Control.Monad (liftM)
77+import Control.Monad (liftM, ap)
78+import Control.Applicative (Applicative(..))
7879import Data.Char (toUpper)
7980import qualified Data.Vector as V
8081import Data.Text (Text, pack)
@@ -185,6 +186,11 @@ data ParseException = NonScalarKey
185186instance Exception ParseException
186187
187188newtype 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
188194instance Monad m => Monad (PErrorT m) where
189195 return = PErrorT . return . Right
190196 (PErrorT m) >>= f = PErrorT $ do