module Proarrow
(
CAT
, type (+->)
, CategoryOf (..)
, Promonad (..)
, Profunctor (..)
, type (:~>)
, (//)
, dimapDefault
, Obj
, obj
, src
, tgt
, pattern Objs
, Ob'
, ObId (..)
, Functor (..)
, type (.~>)
, Prelude (..)
, FunctorForRep (..)
, Representable (..)
, Rep (..)
, Corepresentable (..)
, Corep (..)
, Monad
, return
, bind
, Comonad
, extract
, extend
, Monoid (..)
, CommutativeMonoid
, Comonoid (..)
, ComonoidOn (..)
, InitUniversal (..)
, TermUniversal (..)
, Adjunction
, leftAdjunct
, rightAdjunct
, module Proarrow.Optics
) where
import Proarrow.Adjunction (Adjunction, leftAdjunct, rightAdjunct)
import Proarrow.Core
( CAT
, CategoryOf (..)
, ObId (..)
, Obj
, Profunctor (..)
, Promonad (..)
, dimapDefault
, obj
, src
, tgt
, (//)
, type (+->)
, type (:~>)
)
import Proarrow.Functor (Functor (..), FunctorForRep (..), Prelude (..), type (.~>))
import Proarrow.Monoid (CommutativeMonoid, Comonoid (..), ComonoidOn (..), Monoid (..))
import Proarrow.Object (Ob', pattern Objs)
import Proarrow.Optics
import Proarrow.Profunctor.Corepresentable (Corep (..), Corepresentable (..))
import Proarrow.Profunctor.Representable (Rep (..), Representable (..))
import Proarrow.Promonad (Comonad, Monad, bind, extend, extract, return)
import Proarrow.Universal (InitUniversal (..), TermUniversal (..))