module Control.Workflow.Configuration (once, ever, runConfiguration
) where
import Control.Workflow
import Data.Typeable
import Data.RefSerialize
import Control.Monad.Trans
import Control.Exception
import Control.Monad.Catch as CMC
ever:: (Typeable a,Serialize a, MonadIO m) => IO a -> Workflow m a
ever= unsafeIOtoWF
once :: (Typeable a,Serialize a, MonadIO m) => m a -> Workflow m a
once= step
runConfiguration :: ( Monad m, MonadIO m, CMC.MonadMask m)
=> String -> Workflow m a -> m a
runConfiguration = exec1nc