pipes-3.2.0: Control/Proxy/Core.hs
-- | Default imports for the "Control.Proxy" hierarchy
module Control.Proxy.Core (
-- * Modules
-- $modules
module Control.Proxy.Class,
module Control.Proxy.Synonym,
module Control.Proxy.Prelude,
module Control.Proxy.Trans,
module Control.Proxy.Trans.Identity,
module Control.Proxy.ListT,
module Control.Proxy.Morph,
module Control.Monad,
module Control.Monad.Trans.Class,
module Control.Monad.Morph,
) where
import Control.Monad.Morph (MFunctor(hoist))
import Control.Monad (forever, (>=>), (<=<))
import Control.Monad.Trans.Class (MonadTrans(lift))
import Control.Proxy.Class
import Control.Proxy.ListT
import Control.Proxy.Morph
import Control.Proxy.Synonym
import Control.Proxy.Trans
import Control.Proxy.Trans.Identity
import Control.Proxy.Prelude
{- $modules
"Control.Proxy.Class" defines the 'Proxy' type class that lets you program
generically over proxy implementations and their transformers.
"Control.Proxy.Synonym" defines type synonyms for proxies that don't use all
of their inputs or outputs, such as 'Pipe's, 'Producer's, and 'Server's.
"Control.Proxy.Prelude" provides a standard library of proxies.
"Control.Proxy.Trans" defines the 'ProxyTrans' type class that lets you
write your own proxy extensions.
"Control.Proxy.Trans.Identity" exports 'runIdentityP', which substantially
eases writing completely polymorphic proxies.
"Control.Proxy.ListT" defines a generalized @ListT@ monad transformer that
can interconvert with proxies.
"Control.Proxy.Morph" exports 'hoistP'.
"Control.Monad" exports 'forever', ('>=>'), and ('<=<').
"Control.Monad.Trans.Class" exports 'lift'.
"Control.Monad.Morph" exports 'hoist'.
-}