control-monad-queue-0.0.9: Resuable corecursive queues, via continuations.

Portabilityportable
Stabilityexperimental
Maintainerleon at melding-monads dot com

Control.Monad.Queue.Corec

Description

Corecursive queues with return values. This is a straightforward generalization of Control.Monad.Queue.Allison.

Documentation

data Q w e a Source

Instances

MonadQueue e (Q w e) 
Monad (Q w e) 

enQ :: e -> Q w e ()Source

peekQ :: Q w e (Maybe e)Source

peekQn :: Integral index => index -> Q w e (Maybe e)Source

peekQs :: Integral len => len -> Q w e [e]Source

deQ :: Q w e (Maybe e)Source

deQ_break :: w -> Q w e eSource

deQs :: Integral len => len -> Q w e [e]Source

lenQ :: Integral len => Q w e lenSource

runQueue :: Q a e a -> [e]Source

runResult :: Q a e a -> aSource

runResultQueue :: Q a e a -> (a, [e])Source

mapQW :: (w -> w) -> Q w e a -> Q w e aSource

callCC :: ((a -> forall b. Q w e b) -> Q w e a) -> Q w e aSource