ChannelT-0.0.0.7: Generalized stream processors
Safe HaskellNone
LanguageHaskell2010

Control.Monad.Channel.Internal

Documentation

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

Constructors

ChannelT 

Fields

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-Ewh7xECRda1FTHi2wDfbKT" '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-Ewh7xECRda1FTHi2wDfbKT" '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-Ewh7xECRda1FTHi2wDfbKT" '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-Ewh7xECRda1FTHi2wDfbKT" 'True) (C1 ('MetaCons "ChannelT" 'PrefixI 'True) (S1 ('MetaSel ('Just "unChannelT") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (FreeT (ChannelF sel) m a))))

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

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 #

data ChannelF (sel :: Type -> Type -> Type) x Source #

Constructors

SyncChannel 

Fields

Instances

Instances details
Functor (ChannelF sel) Source # 
Instance details

Defined in Control.Monad.Channel.Internal

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 # 
Instance details

Defined in Control.Monad.Channel.Internal

Methods

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

Orphan instances

Functor f => MFunctor (FreeT f :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Methods

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

Generic (FreeT f m a) Source # 
Instance details

Associated Types

type Rep (FreeT f m a) 
Instance details

Defined in Control.Monad.Channel.Internal

type Rep (FreeT f m a) = D1 ('MetaData "FreeT" "Control.Monad.Trans.Free" "free-5.2-3C5doyc3CEyEBSU0b8vJSG" 'True) (C1 ('MetaCons "FreeT" 'PrefixI 'True) (S1 ('MetaSel ('Just "runFreeT") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (m (FreeF f a (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 #