ChannelT-0.0.0.2: Generalized stream processors

Safe HaskellNone
LanguageHaskell2010

Control.Monad.Channel.Internal

Contents

Documentation

newtype ChannelT sel m a Source #

Constructors

ChannelT 

Fields

Instances

MonadBase b m => MonadBase b (ChannelT sel m) Source # 

Methods

liftBase :: b α -> ChannelT sel m α #

Monad m => MonadChannel sel (ChannelT sel m) Source # 

Methods

syncOn :: sel i o -> o -> ChannelT sel m i Source #

MFunctor (ChannelT sel) Source # 

Methods

hoist :: Monad m => (forall a. m a -> n a) -> ChannelT sel m b -> ChannelT sel n b #

MonadTrans (ChannelT sel) Source # 

Methods

lift :: Monad m => m a -> ChannelT sel m a #

Monad m => MonadFree (ChannelF sel) (ChannelT sel m) Source # 

Methods

wrap :: ChannelF sel (ChannelT sel m a) -> ChannelT sel m a #

Monad m => Monad (ChannelT sel m) Source # 

Methods

(>>=) :: ChannelT sel m a -> (a -> ChannelT sel m b) -> ChannelT sel m b #

(>>) :: ChannelT sel m a -> ChannelT sel m b -> ChannelT sel m b #

return :: a -> ChannelT sel m a #

fail :: String -> ChannelT sel m a #

Monad m => Functor (ChannelT sel m) Source # 

Methods

fmap :: (a -> b) -> ChannelT sel m a -> ChannelT sel m b #

(<$) :: a -> ChannelT sel m b -> ChannelT sel m a #

Monad m => Applicative (ChannelT sel m) Source # 

Methods

pure :: a -> ChannelT sel m a #

(<*>) :: ChannelT sel m (a -> b) -> ChannelT sel m a -> ChannelT sel m b #

(*>) :: ChannelT sel m a -> ChannelT sel m b -> ChannelT sel m b #

(<*) :: ChannelT sel m a -> ChannelT sel m b -> ChannelT sel m a #

Generic1 (ChannelT sel m) Source # 

Associated Types

type Rep1 (ChannelT sel m :: * -> *) :: * -> * #

Methods

from1 :: ChannelT sel m a -> Rep1 (ChannelT sel m) a #

to1 :: Rep1 (ChannelT sel m) a -> ChannelT sel m a #

Generic (ChannelT sel m a) Source # 

Associated Types

type Rep (ChannelT sel m a) :: * -> * #

Methods

from :: ChannelT sel m a -> Rep (ChannelT sel m a) x #

to :: Rep (ChannelT sel m a) x -> ChannelT sel m a #

type Rep1 (ChannelT sel m) Source # 
type Rep1 (ChannelT sel m) = D1 (MetaData "ChannelT" "Control.Monad.Channel.Internal" "ChannelT-0.0.0.2-HsUWwEZakXs73oCicQDKPG" True) (C1 (MetaCons "ChannelT" PrefixI True) (S1 (MetaSel (Just Symbol "unChannelT") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec1 (FreeT (ChannelF sel) m))))
type Rep (ChannelT sel m a) Source # 
type Rep (ChannelT sel m a) = D1 (MetaData "ChannelT" "Control.Monad.Channel.Internal" "ChannelT-0.0.0.2-HsUWwEZakXs73oCicQDKPG" True) (C1 (MetaCons "ChannelT" PrefixI True) (S1 (MetaSel (Just Symbol "unChannelT") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (FreeT (ChannelF sel) m a))))

class Monad m => MonadChannel sel m | m -> sel where Source #

Minimal complete definition

syncOn

Methods

syncOn :: sel i o -> o -> m i Source #

Instances

Monad m => MonadChannel sel (ChannelT sel m) Source # 

Methods

syncOn :: sel i o -> o -> ChannelT sel m i Source #

data ChannelF sel x Source #

Constructors

SyncChannel 

Fields

Instances

Functor (ChannelF sel) Source # 

Methods

fmap :: (a -> b) -> ChannelF sel a -> ChannelF sel b #

(<$) :: a -> ChannelF sel b -> ChannelF sel a #

Monad m => MonadFree (ChannelF sel) (ChannelT sel m) Source # 

Methods

wrap :: ChannelF sel (ChannelT sel m a) -> ChannelT sel m a #

Orphan instances

(MonadBase b m, Functor f) => MonadBase b (FreeT f m) Source # 

Methods

liftBase :: b α -> FreeT f m α #

Functor f => MFunctor (FreeT f) Source # 

Methods

hoist :: Monad m => (forall a. m a -> n a) -> FreeT f m b -> FreeT f n b #

Generic (FreeT f m a) Source # 

Associated Types

type Rep (FreeT f m a) :: * -> * #

Methods

from :: FreeT f m a -> Rep (FreeT f m a) x #

to :: Rep (FreeT f m a) x -> FreeT f m a #