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

10 lines
269 B
Haskell
Raw Normal View History

2021-10-25 19:04:24 +03:00
{-# LANGUAGE DerivingVia #-}
2022-05-16 21:42:11 +03:00
module Reddit.Publish where
2021-10-25 19:04:24 +03:00
import Data.Functor.Contravariant
2021-10-27 23:21:09 +03:00
import Data.Monoid (Ap(..))
2021-10-25 19:04:24 +03:00
newtype Publish m a = Publish { publish :: a -> m () }
deriving Contravariant via (Op (m ()))
2021-10-27 23:21:09 +03:00
deriving (Monoid, Semigroup) via (Op (Ap m ()) a)