-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Composable concurrent computation done right -- -- See README.md for details @package oath @version 0.0 module Oath newtype Oath a Oath :: (forall r. (STM a -> IO r) -> IO r) -> Oath a [runOath] :: Oath a -> forall r. (STM a -> IO r) -> IO r hoistOath :: (forall x. STM x -> STM x) -> Oath a -> Oath a evalOath :: Oath a -> IO a -- | Lift an IO action into an Oath, forking a thread. When the -- continuation terminates, it kills the thread. Exception thrown in the -- thread will be propagated to the result. oath :: IO a -> Oath a -- | An Oath that finishes once the given number of microseconds -- elapses delay :: Int -> Oath () -- | Wrap an Oath timeout :: Int -> Oath a -> Oath (Maybe a) instance GHC.Base.Monoid a => GHC.Base.Monoid (Oath.Oath a) instance GHC.Base.Semigroup a => GHC.Base.Semigroup (Oath.Oath a) instance GHC.Base.Functor Oath.Oath instance GHC.Base.Applicative Oath.Oath instance GHC.Base.Alternative Oath.Oath