diff options
author | tv <tv@krebsco.de> | 2019-02-07 18:42:36 +0100 |
---|---|---|
committer | tv <tv@krebsco.de> | 2019-02-07 18:54:59 +0100 |
commit | fb5636483871fbafe9b286b377c339c8ddf8b4f8 (patch) | |
tree | 5016d6b38bff4b13856828ee385aaf7498d8e344 /src/Control/Monad |
initial commitv1.0.0-rc1
Diffstat (limited to 'src/Control/Monad')
-rw-r--r-- | src/Control/Monad/Extended.hs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/Control/Monad/Extended.hs b/src/Control/Monad/Extended.hs new file mode 100644 index 0000000..d91b12c --- /dev/null +++ b/src/Control/Monad/Extended.hs @@ -0,0 +1,14 @@ +module Control.Monad.Extended + ( module Control.Monad + , unlessM_ + , untilM_ + ) where + +import Control.Monad + + +unlessM_ :: Monad m => m Bool -> m () -> m () +unlessM_ p f = p >>= flip unless f + +untilM_ :: Monad m => m Bool -> m a -> m () +untilM_ p f = unlessM_ p (f >> untilM_ p f) |