ChannelT-0.0.0.7: Generalized stream processors
Safe HaskellTrustworthy
LanguageHaskell2010

Control.Monad.Channel

Documentation

type Channel (sel :: Type -> Type -> Type) = ChannelT sel Identity Source #

data ChannelT (sel :: Type -> Type -> Type) (m :: Type -> Type) a Source #

Instances

Instances details
MFunctor (ChannelT sel :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Control.Monad.Channel.Internal

Methods

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

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

Defined in Control.Monad.Channel.Internal

Methods

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

Generic1 (ChannelT sel m :: Type -> Type) Source # 
Instance details

Defined in Control.Monad.Channel.Internal

Associated Types

type Rep1 (ChannelT sel m :: Type -> Type) 
Instance details

Defined in Control.Monad.Channel.Internal

type Rep1 (ChannelT sel m :: Type -> Type) = D1 ('MetaData "ChannelT" "Control.Monad.Channel.Internal" "ChannelT-0.0.0.7-III8lE57a8P5NOATPyhdQq" 'True) (C1 ('MetaCons "ChannelT" 'PrefixI 'True) (S1 ('MetaSel ('Just "unChannelT") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 (FreeT (ChannelF sel) m))))

Methods

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

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

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

Defined in Control.Monad.Channel.Internal

Methods

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

MonadTrans (ChannelT sel) Source # 
Instance details

Defined in Control.Monad.Channel.Internal

Methods

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

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

Defined in Control.Monad.Channel.Internal

Methods

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

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

Defined in Control.Monad.Channel.Internal

Methods

pure :: a -> ChannelT sel m a #

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

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

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

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

Functor m => Functor (ChannelT sel m) Source # 
Instance details

Defined in Control.Monad.Channel.Internal

Methods

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

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

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

Defined in Control.Monad.Channel.Internal

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 #

Generic (ChannelT sel m a) Source # 
Instance details

Defined in Control.Monad.Channel.Internal

Associated Types

type Rep (ChannelT sel m a) 
Instance details

Defined in Control.Monad.Channel.Internal

type Rep (ChannelT sel m a) = D1 ('MetaData "ChannelT" "Control.Monad.Channel.Internal" "ChannelT-0.0.0.7-III8lE57a8P5NOATPyhdQq" 'True) (C1 ('MetaCons "ChannelT" 'PrefixI 'True) (S1 ('MetaSel ('Just "unChannelT") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (FreeT (ChannelF 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 :: Type -> Type) Source # 
Instance details

Defined in Control.Monad.Channel.Internal

type Rep1 (ChannelT sel m :: Type -> Type) = D1 ('MetaData "ChannelT" "Control.Monad.Channel.Internal" "ChannelT-0.0.0.7-III8lE57a8P5NOATPyhdQq" 'True) (C1 ('MetaCons "ChannelT" 'PrefixI 'True) (S1 ('MetaSel ('Just "unChannelT") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 (FreeT (ChannelF sel) m))))
type Rep (ChannelT sel m a) Source # 
Instance details

Defined in Control.Monad.Channel.Internal

type Rep (ChannelT sel m a) = D1 ('MetaData "ChannelT" "Control.Monad.Channel.Internal" "ChannelT-0.0.0.7-III8lE57a8P5NOATPyhdQq" 'True) (C1 ('MetaCons "ChannelT" 'PrefixI 'True) (S1 ('MetaSel ('Just "unChannelT") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (FreeT (ChannelF sel) m a))))

class Monad m => MonadChannel (sel :: Type -> Type -> Type) (m :: Type -> Type) | m -> sel where Source #

Methods

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

Instances

Instances details
Monad m => MonadChannel sel (ChannelT sel m) Source # 
Instance details

Defined in Control.Monad.Channel.Internal

Methods

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