on master help sign in
Merge pull request #46 from int-index/master

Get ready for AMP

commit49b0d5b50ae97057af5b842fe9c0b778069383cf authorMichael Snoyman <michael@snoyman.com> dateSun 24 Aug 2014, 10:41 (12 years ago) parentf905d51fbf3385
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