reddit-pub/reddit_lib/src/Reddit/Publish.hs

10 lines
269 B
Haskell

{-# LANGUAGE DerivingVia #-}
module Reddit.Publish where
import Data.Functor.Contravariant
import Data.Monoid (Ap(..))
newtype Publish m a = Publish { publish :: a -> m () }
deriving Contravariant via (Op (m ()))
deriving (Monoid, Semigroup) via (Op (Ap m ()) a)