co-log-0.0.0: src/Colog/Contra.hs
{-# OPTIONS_GHC -fno-warn-orphans #-}
{- | This module contains 'LogAction' instances of @contravariant@ classes.
-}
module Colog.Contra
(
) where
import Data.Functor.Contravariant (Contravariant (..))
import Data.Functor.Contravariant.Divisible (Decidable (..), Divisible (..))
import Colog.Core.Action (LogAction)
import qualified Colog.Core.Action as LA
instance Contravariant (LogAction m) where
contramap = LA.cmap
(>$) = (LA.>$)
instance (Applicative m) => Divisible (LogAction m) where
divide = LA.divide
conquer = LA.conquer
instance (Applicative m) => Decidable (LogAction m) where
lose = LA.lose
choose = LA.choose