drinkery-0: Boozy streaming library

Safe HaskellSafe
LanguageHaskell2010

Data.Drinkery.Class

Synopsis

Documentation

class Monad m => MonadDrunk r s m | m -> r s where Source #

Minimal complete definition

drink, spit, call

Methods

drink :: m s Source #

spit :: s -> m () Source #

call :: r -> m () Source #

Instances

MonadDrunk r s m => MonadDrunk r s (MaybeT m) Source # 

Methods

drink :: MaybeT m s Source #

spit :: s -> MaybeT m () Source #

call :: r -> MaybeT m () Source #

(Monoid x, MonadDrunk r s m) => MonadDrunk r s (WriterT x m) Source # 

Methods

drink :: WriterT x m s Source #

spit :: s -> WriterT x m () Source #

call :: r -> WriterT x m () Source #

(Monoid x, MonadDrunk r s m) => MonadDrunk r s (WriterT x m) Source # 

Methods

drink :: WriterT x m s Source #

spit :: s -> WriterT x m () Source #

call :: r -> WriterT x m () Source #

MonadDrunk r s m => MonadDrunk r s (StateT x m) Source # 

Methods

drink :: StateT x m s Source #

spit :: s -> StateT x m () Source #

call :: r -> StateT x m () Source #

MonadDrunk r s m => MonadDrunk r s (StateT x m) Source # 

Methods

drink :: StateT x m s Source #

spit :: s -> StateT x m () Source #

call :: r -> StateT x m () Source #

MonadDrunk r s m => MonadDrunk r s (Sommelier p m) Source # 

Methods

drink :: Sommelier p m s Source #

spit :: s -> Sommelier p m () Source #

call :: r -> Sommelier p m () Source #

MonadDrunk r s m => MonadDrunk r s (ContT * x m) Source # 

Methods

drink :: ContT * x m s Source #

spit :: s -> ContT * x m () Source #

call :: r -> ContT * x m () Source #

MonadDrunk r s m => MonadDrunk r s (ReaderT * x m) Source # 

Methods

drink :: ReaderT * x m s Source #

spit :: s -> ReaderT * x m () Source #

call :: r -> ReaderT * x m () Source #

MonadDrunk r s m => MonadDrunk r s (Barman p q m) Source # 

Methods

drink :: Barman p q m s Source #

spit :: s -> Barman p q m () Source #

call :: r -> Barman p q m () Source #

MonadDrunk r s (Patron r s m) Source # 

Methods

drink :: Patron r s m s Source #

spit :: s -> Patron r s m () Source #

call :: r -> Patron r s m () Source #

Functor m => MonadDrunk r s (Boozer r s m) Source # 

Methods

drink :: Boozer r s m s Source #

spit :: s -> Boozer r s m () Source #

call :: r -> Boozer r s m () Source #

(Monoid y, MonadDrunk r s m) => MonadDrunk r s (RWST x y z m) Source # 

Methods

drink :: RWST x y z m s Source #

spit :: s -> RWST x y z m () Source #

call :: r -> RWST x y z m () Source #

(Monoid y, MonadDrunk r s m) => MonadDrunk r s (RWST x y z m) Source # 

Methods

drink :: RWST x y z m s Source #

spit :: s -> RWST x y z m () Source #

call :: r -> RWST x y z m () Source #

smell :: MonadDrunk r s m => m s Source #

Get one element without consuming.

class CloseRequest a where Source #

Minimal complete definition

closeRequest

Methods

closeRequest :: a Source #

A value representing a close request

Instances