-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | FreeChooser -- -- FreeChooser project @package Workflow @version 0.2 module Control.Workflow type Workflow m l = WF m (Stat l) l type WorkflowStep m a = a -> Workflow m a type WorkflowList m a = [(String, WorkflowStep m a)] data Stat a -- | step lift a monadic computation (a -> m a) in in to the WF monad, -- provides state loging and automatic resume step :: (Workflow_ a, Monad m) => (a -> m a) -> (a -> Workflow m a) -- | start or continue a workflow. WorkflowList is a assoclist of (name, -- workflow computation) startWF :: (Workflow_ a, Monad m) => String -> a -> WorkflowList m a -> m a restartWorkflows :: (Workflow_ a, IResource a, Serialize a) => WorkflowList IO a -> IO () getStep :: (Monad m) => Int -> Workflow m a getAll :: (Monad m) => WF m (Stat a) [a] waitFor :: (IResource a, Serialize a, Typeable a) => Filter a -> a -> IO a waitUntil :: Integer -> IO () syncWrite :: (Workflow_ a, Monad m, IResource a) => Bool -> Int -> Int -> WF m (Stat a) () instance [overlap ok] Typeable1 Stat instance [overlap ok] (IResource a, Serialize a, Typeable a) => Workflow_ a instance [overlap ok] (Monad m) => Monad (WF m s) instance [overlap ok] (IResource a, Serialize a, Typeable a) => IResource (Stat a) instance [overlap ok] (Serialize a) => Serialize (Stat a)