profunctors-4.1: src/Data/Profunctor/Monad.hs
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE TypeOperators #-}
module Data.Profunctor.Monad where
import Data.Profunctor
class ProfunctorMonad t where
proreturn :: Profunctor p => p -/-> t p
projoin :: Profunctor p => t (t p) -/-> t p
class ProfunctorComonad t where
proextract :: Profunctor p => t p -/-> p
produplicate :: Profunctor p => t p -/-> t (t p)