iterate + forever = iterateM?通过反馈重复操作

Ash*_*she 7 monads haskell

我试图永远重复一个IO动作,但是将一个执行的结果输入到下一个.像这样的东西:

-- poorly named
iterateM :: Monad m => (a -> m a) -> a -> m b
iterateM f a = f a >>= iterateM f
Run Code Online (Sandbox Code Playgroud)

Hoogle似乎并没有帮助我,但是我看到很多功能看起来非常接近我想要的功能,但似乎没有一个功能完全正确.

Dan*_*ner 4

你是对的,我不知道在什么地方实现了这种特殊的循环。你的实现看起来不错;为什么不将其作为monad-loops包的补丁提交?