-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Generalized stream processors -- -- A mutual generalization of pipes and machines; a library -- for exploring a particular corner of the design space of streaming IO -- (and other related tasks) in Haskell. @package ChannelT @version 0.0.0.2 module Control.Monad.Channel.Internal newtype ChannelT sel m a ChannelT :: FreeT (ChannelF sel) m a -> ChannelT sel m a [unChannelT] :: ChannelT sel m a -> FreeT (ChannelF sel) m a type Channel sel = ChannelT sel Identity class Monad m => MonadChannel (sel :: * -> * -> *) (m :: * -> *) | m -> sel syncOn :: MonadChannel sel m => sel i o -> o -> m i data ChannelF (sel :: * -> * -> *) (x :: *) SyncChannel :: sel i o -> o -> (i -> x) -> ChannelF [selectorF] :: ChannelF -> sel i o [outputF] :: ChannelF -> o [inputF] :: ChannelF -> i -> x instance GHC.Generics.Generic (Control.Monad.Channel.Internal.ChannelT sel m a) instance GHC.Generics.Generic1 (Control.Monad.Channel.Internal.ChannelT sel m) instance GHC.Base.Monad m => Control.Monad.Free.Class.MonadFree (Control.Monad.Channel.Internal.ChannelF sel) (Control.Monad.Channel.Internal.ChannelT sel m) instance Control.Monad.Trans.Class.MonadTrans (Control.Monad.Channel.Internal.ChannelT sel) instance Control.Monad.Morph.MFunctor (Control.Monad.Channel.Internal.ChannelT sel) instance GHC.Base.Monad m => GHC.Base.Monad (Control.Monad.Channel.Internal.ChannelT sel m) instance GHC.Base.Monad m => GHC.Base.Applicative (Control.Monad.Channel.Internal.ChannelT sel m) instance GHC.Base.Monad m => GHC.Base.Functor (Control.Monad.Channel.Internal.ChannelT sel m) instance GHC.Generics.Generic (Control.Monad.Trans.Free.FreeT f m a) instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Control.Monad.Channel.Internal.ChannelT sel m) instance GHC.Base.Functor (Control.Monad.Channel.Internal.ChannelF sel) instance (Control.Monad.Base.MonadBase b m, GHC.Base.Functor f) => Control.Monad.Base.MonadBase b (Control.Monad.Trans.Free.FreeT f m) instance GHC.Base.Functor f => Control.Monad.Morph.MFunctor (Control.Monad.Trans.Free.FreeT f) instance GHC.Base.Monad m => Control.Monad.Channel.Internal.MonadChannel sel (Control.Monad.Channel.Internal.ChannelT sel m) module Control.Monad.Channel type Channel sel = ChannelT sel Identity data ChannelT sel m a class Monad m => MonadChannel (sel :: * -> * -> *) (m :: * -> *) | m -> sel syncOn :: MonadChannel sel m => sel i o -> o -> m i