reddit-pub/src/Publish.hs
2021-10-27 23:21:09 +03:00

10 lines
262 B
Haskell

{-# LANGUAGE DerivingVia #-}
module 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)