data Sequential : (Type -> Type) -> Type -> Type Represents a computation that can be suspended at certain points.
Totality: not strictly positive
Visibility: export
Constructor: MkSeq : Inf (m (Either a (Sequential m a))) -> Sequential m a
Hints:
Monad m => Applicative (Sequential m) Monad m => Functor (Sequential m) Monad m => Monad (Sequential m) MonadCond m => MonadCond (Sequential m) MonadInfer m => MonadInfer (Sequential m) MonadSample m => MonadSample (Sequential m) MonadTrans Sequential
runSeq : Sequential m a -> m (Either a (Sequential m a))- Visibility: export
suspend : Monad m => Sequential m ()- Visibility: export
advance : Monad m => Sequential m a -> Sequential m a Execute to the next suspension point. If the computation is finished, do nothing.
Visibility: exportfinish : Monad m => Sequential m a -> m a Remove the remaining suspension points.
Visibility: exporthoistFirst : (m x -> m x) -> Sequential m a -> Sequential m a Transform the inner monad. This operation only applies to computation up to the first suspension.
Visibility: exportcomposeCopies : Nat -> (a -> a) -> a -> a Apply a function a given number of times.
Visibility: exportsis : Monad m => (m x -> m x) -> Nat -> Sequential m a -> m a Sequential importance sampling. Applies a given transformation after each time step.
Visibility: export