Safe Haskell | Safe-Inferred |
---|
- class Monad m => MonadTimeout w m | m -> w where
- data Timeout w a
- runTimeout :: Strategy w -> Int -> Timeout w () -> IO (Maybe w)
- returning :: MonadTimeout w m => m w -> m ()
Documentation
class Monad m => MonadTimeout w m | m -> w whereSource
Save an intermediate result of the computation.
tellWith :: (Maybe w -> w) -> m ()Source
Combine an intermediate result of the computation with the current saved result (if any) and save it.
Explicitly allow interrupting the computation at this point. Experimental.
Monad (Timeout w) => MonadTimeout w (Timeout w) |
:: Strategy w | Evaluate values passed to |
-> Int | Timeout in microseconds. |
-> Timeout w () | The computation. |
-> IO (Maybe w) | The result, or |
Execute the given computation with a timeout limit and force
the result to the form defined by the given Strategy
.
returning :: MonadTimeout w m => m w -> m ()Source
Convert a monadic computation returning a value of the result type into
'm ()' so that it can be used with runTimeout
. Calling 'returning k'
is equivalent to 'k >>= tell'.