summaryrefslogtreecommitdiff
path: root/Utility/Monad.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Utility/Monad.hs')
-rw-r--r--Utility/Monad.hs9
1 files changed, 4 insertions, 5 deletions
diff --git a/Utility/Monad.hs b/Utility/Monad.hs
index 7f9c7b1bc..be48072cb 100644
--- a/Utility/Monad.hs
+++ b/Utility/Monad.hs
@@ -29,14 +29,13 @@ anyM p = liftM isJust . firstM p
untilTrue :: (Monad m) => [a] -> (a -> m Bool) -> m Bool
untilTrue = flip anyM
-{- Runs a monadic action, passing its value to an observer
- - before returning it. -}
+{- Runs an action, passing its value to an observer before returning it. -}
observe :: (Monad m) => (a -> m b) -> m a -> m a
observe observer a = do
r <- a
_ <- observer r
return r
-{- Like observe, but the observer is not passed the value. -}
-observe_ :: (Monad m) => m b -> m a -> m a
-observe_ observer = observe (const observer)
+{- b `after` a runs first a, then b, and returns the value of a -}
+after :: (Monad m) => m b -> m a -> m a
+after = observe . const