monad-logger-extras-0.1.0.0: src/Control/Monad/Logger/Orphans.hs
{-# OPTIONS_GHC -fno-warn-orphans #-}
{-|
Description: Orphan instances for monad-logger's LoggingT
|-}
module Control.Monad.Logger.Orphans where
import Control.Monad.Logger
import Control.Applicative (Alternative(..))
import Control.Monad (MonadPlus(..))
import Control.Monad.Trans (lift)
instance (Monad m, Alternative m) => Alternative (LoggingT m) where
empty = lift empty
a <|> b = LoggingT $ \r -> let LoggingT f' = a <|> b in f' r
instance (Monad m, Alternative m) => MonadPlus (LoggingT m)