imm-1.0.1.0: Execute arbitrary actions for each unread element of RSS/Atom feeds

Safe HaskellNone
LanguageHaskell98

Imm.Prelude

Contents

Synopsis

Free monad utilities

type (:::) a b = (a, b) infixr 0 Source #

Right-associative tuple type-constructor

(>:) :: a -> b -> (a, b) infixr 0 Source #

Right-associative tuple data-constructor

(*:*) :: (Functor f, Functor g) => (a -> f a) -> (b -> g b) -> (a, b) -> (f :*: g) (a, b) infixr 0 Source #

class (Monad m, Functor f, Functor g) => PairingM f g m | f -> g where Source #

Minimal complete definition

pairM

Methods

pairM :: (a -> b -> m r) -> f a -> g b -> m r Source #

Instances

Monad m => PairingM Identity Identity m Source # 

Methods

pairM :: (a -> b -> m r) -> Identity a -> Identity b -> m r Source #

Monad m => PairingM (CoLoggerF m) LoggerF m Source # 

Methods

pairM :: (a -> b -> m r) -> CoLoggerF m a -> LoggerF b -> m r Source #

Monad m => PairingM (CoHttpClientF m) HttpClientF m Source # 

Methods

pairM :: (a -> b -> m r) -> CoHttpClientF m a -> HttpClientF b -> m r Source #

Monad m => PairingM (CoHooksF m) HooksF m Source # 

Methods

pairM :: (a -> b -> m r) -> CoHooksF m a -> HooksF b -> m r Source #

Monad m => PairingM (CoDatabaseF t m) (DatabaseF t) m Source # 

Methods

pairM :: (a -> b -> m r) -> CoDatabaseF t m a -> DatabaseF t b -> m r Source #

(PairingM f f' m, PairingM g g' m) => PairingM ((:+:) * f g) ((:*:) * f' g') m Source # 

Methods

pairM :: (a -> b -> m r) -> (* :+: f) g a -> (* :*: f') g' b -> m r Source #

(PairingM f f' m, PairingM g g' m) => PairingM ((:*:) * f g) ((:+:) * f' g') m Source # 

Methods

pairM :: (a -> b -> m r) -> (* :*: f) g a -> (* :+: f') g' b -> m r Source #

interpret :: PairingM f g m => (a -> b -> m r) -> Cofree f a -> FreeT g m b -> m r Source #

Shortcuts

type Text = Text Source #

show :: (Show a, IsString b) => a -> b Source #

Generic show

io :: MonadIO m => IO a -> m a Source #

Shortcut to liftIO

(<++>) :: Doc -> Doc -> Doc Source #

Infix operator for line